spring-boot-starter-swagger icon indicating copy to clipboard operation
spring-boot-starter-swagger copied to clipboard

全局响应消息配置对200状态无效

Open yingw opened this issue 6 years ago • 1 comments

永超,你好:

使用版本 1.8.0.RELEASE,Spring Boot 2.0.4

在尝试使用 全局响应消息配置文档,设置了多个返回 code 后发现,只有 200 状态没有生效,其他 ok

application.propertes

swagger.apply-default-response-messages=false
swagger.global-response-message.get[0].code=200
swagger.global-response-message.get[0].message=成功返回
swagger.global-response-message.get[1].code=401
swagger.global-response-message.get[1].message=未授权
#swagger.global-response-message.get[1].modelRef=ERROR
swagger.global-response-message.get[2].code=403
swagger.global-response-message.get[2].message=禁止访问
swagger.global-response-message.get[3].code=404
swagger.global-response-message.get[3].message=未找到
swagger.global-response-message.get[4].code=500
swagger.global-response-message.get[4].message=内部错误
swagger.global-response-message.post[0].code=500
swagger.global-response-message.post[0].message=内部错误
#swagger.global-response-message.post[0].modelRef=ERROR

界面显示

Code Description
200 OK Example ValueModel"string"
401 未授权
403 禁止访问
404 未找到
500 内部错误

给方法设置上 200 的 message 就可以

    @ApiResponses({
            @ApiResponse(code = 200, message = "成功返回"),
            @ApiResponse(code = 401, message = "未授权"),
            @ApiResponse(code = 403, message = "禁止访问"),
            @ApiResponse(code = 404, message = "未找到")}
    )

请问是故意为之还是bug

另外 modelRef = ERROR 加上会报错:

Errors Hide Resolver error at paths./test.get.responses.401.schema.$ref Could not resolve reference because of: Could not resolve pointer: /definitions/ERROR does not exist in document

yingw avatar Sep 02 '18 01:09 yingw

https://github.com/springfox/springfox/issues/735

200 这种场景特殊,官方也没考虑到这种情况。所以 stater 暂时无法解决。如果你可以解决,欢迎提 pr

JeffLi1993 avatar Sep 25 '18 10:09 JeffLi1993