首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当存在WebMvcConfigurationSupport时,不会生成Swagger UI

当存在WebMvcConfigurationSupport时,不会生成Swagger UI
EN

Stack Overflow用户
提问于 2021-10-25 18:55:40
回答 1查看 75关注 0票数 0

我正在尝试在我的spring boot项目中生成Swagger UI。JSON API文档生成了,但是Swagger UI没有,至少我在输入swagger ui地址时得到了404。我的依赖项:

代码语言:javascript
复制
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>3.0.0</version>
    </dependency>

但是,当我删除此配置时(不做任何其他操作):

代码语言:javascript
复制
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {

    @Override
    protected void addFormatters(FormatterRegistry registry) {
        registry.addConverter(new SomeEnumConverter());
        registry.addConverter(new AnotherEnumConverter());
    }
}

Swagger UI工作正常。Swagger UI在转换器方面有问题吗?有没有解决这个问题的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-25 19:40:48

您需要添加@EnableWebMvc注释

代码语言:javascript
复制
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {

  @Override
  protected void addFormatters(FormatterRegistry registry) {
    registry.addConverter(new SomeEnumConverter());
    registry.addConverter(new AnotherEnumConverter());
  }
}

但我认为现在配置WebMvc的官方方式是实现WebMvcConfigurer。您可以在official docs中看到几个示例。我认为如果你使用Spring Boot,它不需要@EnableWebMvc。

代码语言:javascript
复制
@Configuration
public class WebConfig implements WebMvcConfigurer {

  @Override
  protected void addFormatters(FormatterRegistry registry) {
    registry.addConverter(new SomeEnumConverter());
    registry.addConverter(new AnotherEnumConverter());
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69713332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档