Skip to content

接口文档

接口文档使用的是knife4jknife4j是一个集Swagger2OpenAPI3为一体的增强解决方案。

关于接口文档枚举值的说明

有一些字段是枚举值,但接口文档显示的要把每个枚举对应的中文显示出来,这样前端才能知道这个字段的含义,所以需要在这个字段上添加一个注解,就可以实现,使用方式如下:

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;

最终展示效果如下: