Java Swagger在204上生成响应正文(无内容)
以下是一个删除端点:Java Swagger在204上生成响应正文(无内容),java,spring,swagger,springfox,Java,Spring,Swagger,Springfox,以下是一个删除端点: @ApiOperation(value = "delete subscription") @ApiResponses(value = { @ApiResponse(code = 204, message = "Deleted", response = Void.class), @ApiResponse(code = 404, message = "Not Found") }) @DeleteMapping("/
@ApiOperation(value = "delete subscription")
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Deleted", response = Void.class),
@ApiResponse(code = 404, message = "Not Found")
})
@DeleteMapping("/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public ListenableFuture<ResponseEntity<Void>> delete(@PathVariable long id)
显然,我希望204的响应主体规范为空。如何做到这一点
注意:如果我将端点更改为同步:
public void delete(@PathVariable long id)
然后生成的API就可以了。尝试添加
.genericModelSubstitutes(ListenableFuture.class)
到您的摘要配置,以支持ListenableFuture
文件:
将每个泛型类替换为其直接参数化类型。
genericModelSubstitutes(ResponseEntity.class)将替换
对MyModel的响应
例如:
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.genericModelSubstitutes(ListenableFuture.class);
它告诉Springfox,
ListenableFuture
是真正响应的唯一包装器,因此应该对其进行修改。
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.genericModelSubstitutes(ListenableFuture.class);