定义常见的swagger注释

时间:2017-06-21 17:08:07

标签: java annotations swagger

不可否认,我的答案看起来并不太难。我的问题是,在使用 springfox-swagger-ui 定义swagger注释时,如何定义常用的 ApiResponse 用于多个方法,并且可能多于一个类?

请参阅下面的两个示例方法,常见的 ApiResponse 是错误500.理想情况下,我想要定义一次。任何最佳做法和/或建议?

以下示例代码:

@GET
@Path("/greeting")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Returns greeting details", notes = "Returns .....", response = Greeting.class)
@ApiResponses(value = {
    @ApiResponse(code = 200, message = "Successful retrieval of greeting details", response = Greeting.class),
    @ApiResponse(code = 404, message = "Greeting does not exist"),
    @ApiResponse(code = 500, message = "Internal server error")}
)
public Response getGreeting(.....) {
    ...
}


@GET
@Path("/something")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Returns something details", notes = "Returns .....", response = Something.class
@ApiResponses(value = {
    @ApiResponse(code = 200, message = "Successful retrieval of greeting details", response = Something.class),
    @ApiResponse(code = 404, message = "Something does not exist"),
    @ApiResponse(code = 500, message = "Internal server error")}
)
public Response getSomething(.....) {
    ...
}

具体指:

@ApiResponse(code = 500, message = "Internal server error")

提前谢谢你。

2 个答案:

答案 0 :(得分:1)

您可以创建使用ApiResponses注释的自定义注释。 并在方法级别使用此自定义注释。 @ApiResponses() public @interface CustomApiResponse {}

答案 1 :(得分:0)

由于@ApiResponse是一个注释,您需要为@ApiResponses注释中包含它的每个方法添加它。