可以在春季启动时迅速使用ApiResponse的HttpStatus

时间:2019-01-30 09:02:58

标签: spring-boot

当使用带有弹簧套的spring boot时,我发现编号和消息被硬编码在@GetMapping之前

@ApiResponse(code = 200, message = "Successfully retrieved list"),
            @ApiResponse(code = 400, message = "Bad request"),
            @ApiResponse(code = 403, message = "Accessing the resource you were trying to reach is forbidden"),
            @ApiResponse(code = 404, message = "The resource you were trying to reach is not found")  

我可以使用类似的东西


@ApiResponse(response = HttpStatus.OK)

codemessageHttpStatus.OK吗? 这样我就不必编写消息和代码了?

我发现我可以使用

@ResponseStatus(value=HttpStatus.OK)

它显示在swagger文档中,但是我不能使用如下所示的几种

@ResponseStatus(value=HttpStatus.OK)
@ResponseStatus(value=HttpStatus.BAD_REQUEST)

编辑: 我昂首阔步的版本是2.9.2, 我用

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>${swagger.version}</version>
    <scope>compile</scope>
</dependency>

1 个答案:

答案 0 :(得分:0)

您正在使用哪个版本的Swagger注释?

基本上,参考文档,@ ApiResponse(Swagger-Core v1.5.0)中可以使用6个可能的元素:代码,消息,引用,响应,responseContainer,responseHeaders 。 Swagger-Core v.2.0.0-RC3中有5个可能的元素:内容,描述,标题,链接,响应代码

总而言之,不可能只设置一个响应值,而是同时生成:响应代码和消息。

此外,在1.5.0版中,需要代码和消息元素。因此,您不能仅使用其中之一。