【发布时间】:2021-08-01 06:54:28
【问题描述】:
我看了很多,但找不到任何解决我的问题的方法:已修复 code-first 方法将被使用,我想知道如何实现它 OpenApi (Swagger) 将在我的 Java / Spring Boot 应用程序中考虑像 @Min(), @Max(), @Size(), ... 这样的验证注释。每当我让生成到 OpenApi 文档时,这些注释都不会被考虑;它们根本不显示。
目前我尝试使用
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.10</version>
</dependency>
我也尝试使用 common 依赖项,但没有帮助。
bean(尝试了@Min() 和@Max,除了@size()):
@Data
@SuperBuilder(setterPrefix = "with")
public class ResponseBody {
@NotNull
@Min(value = 3)
@Max(44)
@Size(min = 3, max = 44)
private String referenceMessageId;
}
OpenApi bean:
@Bean
default OpenAPI customOpenApi() {
return new OpenAPI()
.info(new Info()
.title("XXX")
.version("1.0")
.description("xxx"))
.components(new Components()
.addSchemas(ERROR_RESPONSE_SCHEMA_KEY, new io.swagger.v3.oas.models.media.Schema<>().type("object").$ref("#/components/schemas/ErrorResponseBody"))
.addSchemas(VNB_RESPONSE_SCHEMA_KEY, new io.swagger.v3.oas.models.media.Schema<>().type("object").$ref("#/components/schemas/ResponseBody"))
.addParameters(API_VERSION_HEADER_PARAMETER, new io.swagger.v3.oas.models.parameters.Parameter()
.name(API_VERSION_HEADER_PARAMETER)
.required(Boolean.TRUE)
.allowEmptyValue(Boolean.FALSE)
.description("yyy")
.in("header")
.schema(new io.swagger.v3.oas.models.media.Schema<String>()
.type("string")
.example("1.0.0")));
【问题讨论】:
标签: spring-boot validation swagger openapi