【问题标题】:The annotation @ApiResponses is disallowed for this location此位置不允许使用注释 @ApiResponses
【发布时间】:2019-03-11 13:03:11
【问题描述】:

我收到以下错误: 注释@ApiResponses 不允许用于此位置 我们使用的是swagger2.2.0

@RestController
@RequestMapping(value = "/example")
@ApiResponses(value = {  @ApiResponse(code = 200, message = "Success"),
        @ApiResponse(code = 204, message = "No Content"),
        @ApiResponse(code = 400, message = "Bad Request"),
        @ApiResponse(code = 401, message = "Unauthorized"),
        @ApiResponse(code = 500, message = "Internal Server Error")})
public class SomeController{

}

如果不升级 swagger 版本,我们有什么选择吗? 请帮忙..

【问题讨论】:

    标签: spring spring-boot swagger swagger-ui swagger-2.0


    【解决方案1】:

    这是因为@ApiResponses 注解只能用在方法上!

    下面是一个示例 sn-p:

     @ApiResponses(value = { @ApiResponse(code = 400, message = "Invalid ID supplied"),
     @ApiResponse(code = 404, message = "Pet not found") })
     public Response getPetById(...) {...}
    

    【讨论】:

    • 这不是真的。我将 swagger 版本升级到 2.9.0 并在 Class 级别接受。虽然 2.9.0 有不同的问题。
    • @Mebin - 我认为在 swagger 版本 2.2.0 的情况下在方法级别上有意义,但在类级别上也可以提供 2.9.0。无论如何,非常感谢您提供线索。我在不升级招摇版本的情况下进入方法级别。
    • @Nishant。如果可以,请将 Mirko 的回答标记为有用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多