java - 如何创建分组的 Swagger 注释 - 此位置不允许注释
问题描述
我想将此注释分组:
@ApiResponses(value= {
@ApiResponse(
code = 200,
message = "Successful status response"),
@ApiResponse(
code = 400,
message = "Successful status response"),
@ApiResponse(
code = 500,
message = "Successful status response"),
})
在单个注释@ResponseCodes
中以缩短它。我发现这个 SO Question基本上有同样的问题。该线程中的解决方案是创建一个自定义注释,在我的情况下看起来像这样:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@ApiResponses(value= {
@ApiResponse(
code = 200,
message = "Successful status response"),
@ApiResponse(
code = 400,
message = "Successful status response"),
@ApiResponse(
code = 500,
message = "Successful status response"),
})
public @interface ResponseCodes {
}
但是,当我尝试此操作时,我收到错误消息@ApiResponses is disallowed in this location.
有什么建议么?
解决方案
我通过将依赖版本更改为 2.9.2 解决了这个问题,得到这样的方式:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
注释结果:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
@ApiResponses(value = {
@ApiResponse(code = 200, message = STATUS_CODE_200), @ApiResponse(code = 204, message = STATUS_CODE_204),
@ApiResponse(code = 400, message = STATUS_CODE_400), @ApiResponse(code = 401, message = STATUS_CODE_401),
@ApiResponse(code = 403, message = STATUS_CODE_403), @ApiResponse(code = 404, message = STATUS_CODE_404),
@ApiResponse(code = 500, message = STATUS_CODE_500)
})
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface WBossResponses {
}
推荐阅读
- azure-data-explorer - 从 Kusto 函数调用 REST API
- python - 即使使用完全指定的文件路径,df.to_csv 也不会生成 CSV 文件
- css - 带有 2 张图像的响应式绝对定位
- javascript - 当我们已经有快速服务器时,为什么要为 Socket.io 创建新的 http 实例?
- javascript - 电子邮件正则表达式的误报
- python - 在字典列表中将两个相同的值与相同的键组合起来
- ajax - 使用带有随机数/缓存的 ajax 为 wordpress 构建前端登录时的最佳实践
- git - 根据 repo 中的数据部署到工件
- linux - 无论文件夹深度或数量,复制或移动目录中的所有文件
- sql - SQL 在两行之间插入行