当前位置: 首页 > 知识库问答 >
问题:

Spring启动验证信息未显示在Swagger UI中

孟开宇
2023-03-14

我的类是用Spring Boot Java写的,我用Swagger 2生成它们的文档。我使用的是spring-fox 2 . 9 . 0版本。

为了在Swagger UI中显示验证约束(@min、@max、@pattern等),我在我的application.java中添加了以下几行,其中showExtensions(true),但这不起作用。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();
}

共有1个答案

呼延运恒
2023-03-14

你的 UiConfiguration 很好。您需要做的是(激活JSR-303的Springfox支持,请参阅Springfox参考文档):

> < li>

将< code > spring fox-bean-validators 依赖项添加到< code>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验证程序模块导入配置:

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

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

 类似资料:
  • Swagger UI 不显示请求参数的验证信息。我想显示参数的最小值,最大值,格式,模式(正则表达式)。有谁知道我在Swagger UI上表达参数验证信息的方式吗?

  • $ gdb GNU gdb (GDB) 7.7.50.20140228-cvs Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are f

  • 我一直在尝试使用最新版本的SpringMVC实现来设置Swagger Spring-MVC和Swagger UI:Swagger Spring-MVC 我已经能够使初始设置正常工作,但当我导航到我的SwaggerUI页面时,我收到一个错误,它无法访问我的api,因为“服务器返回未定义”。当我查看firebug时,它说它得到了401授权。 当您第一次导航到SwaggerUI URL时,会弹出一个对话

  • #include <stdio.h> #include <pthread.h> void *thread_func(void *p_arg) { sleep(10); } int main(void) { pthread_t t1, t2; pthread_create(&t1, NULL, thread_func, "Thread 1");

  • 问题内容: 我已经为此工作了好几个小时,试图弄清楚为什么没有出现所谓的简单自动完成功能。 事实证明,在我的代码中,input元素被设置为,而pac-container上的样式为。 我可以在DevTools中更改这些值,并且效果很好,但是我不知道如何或为什么将这些值设置为这些值。 我的自动完成功能是在这样的Angular Directive中设置的,其中loadGmaps获取google api。

  • 我试图让我的javascript验证电话号码输入,并在用户输入信息不正确时显示消息。我还设置了另外两个输入,所以我复制了其中一个,并用phoneNumber替换了名称,但没有结果。没有HTML的替代品,请它是我必须使用我的评估。 这里我只包含了电话号码输入的代码。http://jsfiddle.net/29ZNV/ 超文本标记语言 JAVASCRIPT