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

spring mvc中未加载Swagger2配置类

萧和同
2023-03-14

我正在为我的Spring REST项目建立swagger2文档。但是当我尝试执行http://localhost:8085/swagger-ui.html时,返回空页面。问题是我的bean类没有被我的spring MVC应用程序加载,它也不是Spring Boot应用程序。

下面是我的swagger2配置类

@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig extends WebMvcConfigurerAdapter{

    @Bean
    public Docket newsApi() {
        System.out.println("!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@22");
    return new Docket(DocumentationType.SWAGGER_2)
    .groupName("Dialr")
    .apiInfo(apiInfo())
    .select()
    .paths(regex("/*.*"))
    .build();
    }

    private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
    .title("Spring REST Sample with Swagger")
    .description("Spring REST Sample with Swagger")
    .termsOfServiceUrl("http://www-03.ibm.com/software/sla/sladb.nsf/sla/bm?Open")
    .contact("Niklas Heidloff")
    .license("Apache License Version 2.0")
    .licenseUrl("https://github.com/IBM-Bluemix/news-aggregator/blob/master/LICENSE")
    .version("2.0")
    .build();
    }

}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
 <context:component-scan base-package="com.xx.yy.zz" />

 <mvc:annotation-driven />
<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>

<context:annotation-config/>
 <bean name="swaggerConfig" class="com.xx.yy.SwaggerConfig"/>

  </beans>

请同时找到web.xml条目

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Retail_SVC</display-name>


  <servlet>
 <servlet-name>rest</servlet-name>
    <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/rest-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>rest</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

如果有什么东西丢了,请告诉我?任何帮助都是非常感谢的。

共有1个答案

苏鸿志
2023-03-14

由于servlet映射中的基本url映射是/rest/*,swagger-ui.html不会加载到http://localhost:8085/swagger-ui.html,所以尝试使用http://localhost:8085/rest/swagger-ui.html它可能会起作用

 类似资料:
  • 你能帮我找出配置中缺少的步骤吗? 我正试图将logger添加到我非常简单的web应用程序中:为了做到这一点,我使用了log4j2 (beta9)。 我写下了我的<code>log4j2.xml<code>如下 我把它放在WEB-INF文件夹里。 然后,我有一个简单的servlet,它执行以下操作 正如你所看到的,这只是一个尝试,看看是否如预期的那样工作,但它没有。通过阅读此处的web app,我不

  • 我有一个Spring Boot应用程序,它有一些配置属性。我正在尝试为一些组件编写测试,并希望从< code>test.properties文件中加载配置属性。我不能让它工作。 这是我的代码: 文件(在src/test/resources下): 配置属性类: 我的测试: 测试失败,并显示“预期实际不为空”,这意味着未设置配置属性类中的属性。

  • 问题内容: 我有一个基于httpd官方映像的docker容器。从无处(新构建后),它开始失败并显示以下错误: 没有其他的。 我使用的是官方的httpd图片(),到目前为止一切正常。 该错误仅在用 问题答案: (编辑,谢谢delboy1978uk如果应用简单的最佳实践可以避免该错误:将docker映像固定到特定版本而不是。 在挖掘了官方httpd图像的提交之后,我找到了解决方案。(也许这个问题/答案

  • 我有多模块项目: api模块有my持久性作为一个依赖。我正在谈论的配置类应该从类路径中检测出来,这不是我忽略或错过的原因 在持久化模块中的包下配置类 ApiApplication类位于 需要帮忙吗?

  • void config_load(string file [, string section]) This loads config file data and assigns it to the template. This works identical to the template config_load function. 加载配置文件,并将其中的数据传送到模板中,它的功能和config

  • 我试图在我的应用程序中实现jpa 发展能力 所以,我的DataConfig看起来像这样: 但是,当我尝试启动应用程序时,会出现错误消息。制造战争- 已连接到服务器[2018-09-26 09:54:32631]工件未命名:正在部署工件,请稍候。。。2018年9月26日09:54:34.460警告[RMI TCP连接(3)-127.0.0.1]组织。阿帕奇。公猫dbcp。dbcp2。基本资源工厂。g