【问题标题】:@ApiOperation vs @ApiResponse in SwaggerSwagger 中的 @ApiOperation 与 @ApiResponse
【发布时间】:2017-04-11 13:51:08
【问题描述】:

@ApiOperation 有一个属性response,我们可以将响应类型传递给它。在@ApiResponse 中,我们还有一个属性response,我们可以将响应类型传递给它。那么它们之间的确切区别是什么?

【问题讨论】:

    标签: spring-boot swagger swagger-2.0


    【解决方案1】:

    您必须在@ApiOperation 中指定成功 响应,而您可以在@ApiResponse 中指定所有可能的响应对象。

    @ApiResponse 用于包裹在@ApiResponses 中,通常用于指定错误代码和异常情况,如Resource Not FoundBad Request 等。您也可以指定success 响应,但不是必须这样做,因为在@ApiOperation 中无论如何都提到了成功响应。

    【讨论】:

    • @ApiOperation中是否必须指定成功响应?
    • 如果您的API在成功的情况下返回任何响应实体,则必须在@apiOperation中注明为response=。如果不指定,虽然不会发生什么不好的事情,swagger 将无法显示响应结构。但这就是使用 swagger 的全部意义:记录 API。
    【解决方案2】:

    @ApiOperation@ApiResponse 的用法有点不同。使用@ApiOperation,您可以使用response 指定REST 方法的返回类型。使用@ApiResponse,您可以发回其他信息,例如 HTTP 代码、用户定义的消息和其他标头(如果您想返回)

    【讨论】:

    • 只有这些吗?
    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2021-05-31
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多