springdoc-openapi-ui怎么为枚举加中文描述
时间: 2023-12-25 22:05:11 浏览: 265
为枚举加中文描述,可以使用 SpringDoc OpenAPI 的 @io.swagger.v3.oas.annotations.media.Schema 注解中的 description 属性。具体步骤如下:
1. 在枚举类中,为每个枚举值添加中文描述。
例如:
```
public enum Gender {
MALE("男性"),
FEMALE("女性");
private String description;
Gender(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}
```
2. 在需要使用该枚举的 DTO 类中,使用 @io.swagger.v3.oas.annotations.media.Schema 注解为该属性添加描述。
例如:
```
public class UserDTO {
@Schema(description = "性别")
private Gender gender;
// other fields and methods
}
```
在上述代码中,使用 @Schema 注解为 gender 属性添加了描述,但是描述的是属性名称,而不是枚举值的中文描述。
3. 为了让 gender 属性的描述显示为枚举值的中文描述,可以在 @Schema 注解中使用 extension 属性。
例如:
```
public class UserDTO {
@Schema(description = "性别", extension = @Extension(name = "enum-descriptions", value = "{\"MALE\":\"男性\",\"FEMALE\":\"女性\"}"))
private Gender gender;
// other fields and methods
}
```
在上述代码中,使用 @Extension 注解为 extension 属性添加了一个名为 "enum-descriptions" 的扩展属性,这个扩展属性的值是一个 JSON 字符串,其中键值对表示枚举值和中文描述的对应关系。
这样,在使用 SpringDoc OpenAPI 生成 API 文档时,就会将 gender 属性的描述显示为枚举值的中文描述了。
阅读全文