Spring Swagger 中未显示引导验证信息UI

Spring Boot Validation information not displayed in Swagger UI

我的 类 是在 Spring Boot Java 中编写的,我使用 Swagger 2生成他们的文档。 我正在使用 spring-fox 版本 2.9.0.

为了在 Swagger UI 中显示验证约束(@min、@max、@pattern 等),我将以下行添加到我的 application.java,其中 showExtensions(true),但这没有用。 Desired result in Swagger UI

我应该更改什么以获得想要的结果?

@Bean
UiConfiguration uiConfig() {
  return UiConfigurationBuilder.builder() 
      .deepLinking(true)
      .displayOperationId(false)
      .defaultModelsExpandDepth(1)
      .defaultModelExpandDepth(1)
      .defaultModelRendering(ModelRendering.EXAMPLE)
      .displayRequestDuration(false)
      .docExpansion(DocExpansion.NONE)
      .filter(false)
      .maxDisplayedTags(null)
      .operationsSorter(OperationsSorter.ALPHA)
      .showExtensions(true)
      .tagsSorter(TagsSorter.ALPHA)
      .supportedSubmitMethods(UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS)
      .validatorUrl(null)
      .build();
}

你的 UiConfiguration 没问题。您需要做的是(激活 Springfox 对 JSR-303 的支持 cf. Springfox Reference Documentation):

  • springfox-bean-validators 依赖项添加到 pom.xml:

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-bean-validators</artifactId>
        <version>2.9.2</version> <!-- or any version you like -->
    </dependency>
    
  • springfox-bean-validators模块导入配置:

    ...
    @Import({springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration.class})
    public class SwaggerDocumentationConfig { ... }
    

现在您应该能够在 Swagger 中的注释属性顶部看到所需的信息 UI。