接口文档
接口文档使用的是knife4j
,knife4j
是一个集Swagger2
和OpenAPI3
为一体的增强解决方案。
关于接口文档枚举值的说明
有一些字段是枚举值,但接口文档显示的要把每个枚举对应的中文显示出来,这样前端才能知道这个字段的含义,所以需要在这个字段上添加一个注解,就可以实现,使用方式如下:
java
@SchemaEnum(implementation = StatusEnum.class)
@NotNull(message = "参数配置状态不能为空", groups = {Update.class})
@Schema(name = "status", description = "参数配置状态", type = "integer")
private Integer status;
使用@SchemaEnum
注解来指定一个枚举,但要求是这个枚举的字段必须是code和desc,如下:
java
@Getter
@AllArgsConstructor
public enum StatusEnum {
STATUS_0(0, "禁用"),
STATUS_1(1, "正常"),
;
private final Integer code;
private final String desc;
}
因为在@SchemaEnum
注解中,默认调用getCode和getDesc方法来获取枚举值和中文说明,如果你不是这两个字段,那就需要指定获取枚举值和中文说明的方法值,比如:
java
@SchemaEnum(implementation = StatusEnum.class, keyMethodName = "getKey", valueMethodName = "getValue")
@NotNull(message = "参数配置状态不能为空", groups = {Update.class})
@Schema(name = "status", description = "参数配置状态", type = "integer")
private Integer status;
最终展示效果如下: