这是一个删除端点:
@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)
Springfox使用响应主体生成API规范:
{
"cancelled": true,
"done": true
}
显然我希望204的响应体规格是空白的。如何实现这一目标?
注:如果我改变端点是同步的:
public void delete(@PathVariable long id)
然后生成的API很好。
尝试添加
.genericModelSubstitutes(ListenableFuture.class)
你的Docket配置支持ListenableFuture<T>
。
用它的直接参数化类型替换每个泛型类。 genericModelSubstitutes(ResponseEntity.class)将使用MyModel替换ResponseEntity <MyModel>
例如:
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.genericModelSubstitutes(ListenableFuture.class);