swagger2不与弹簧安置工作

swagger2不与弹簧安置工作

问题描述:

我有一个Spring应用程序,其web.xml文件看起来像如下:swagger2不与弹簧安置工作

<servlet> 
    <servlet-name>app</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/app-servlet.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>app</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>app</servlet-name> 
     <url-pattern>/service/*</url-pattern> 
    </servlet-mapping> 

里面我app-servlet.xml我有如下的配置项:

<context:component-scan base-package="com.rest.apidoc" /> 

我有我的SwaggerConfig里面的com.rest.apidoc目录

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket api(){ 
     return new Docket(DocumentationType.SWAGGER_2) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build(); 
    } 
} 

现在当我尝试运行应用程序http://domain:port/app/service/api-docs,我得到我的控制台上的错误No mapping found for HTTP request with URI [/app/service/api-docs] in DispatcherServlet with name 'app'

我在哪里出错了?

有几件事情,可能会出问题:

  1. 你没有注册相应的资源处理程序。 example
  2. 你可能会碰到错误的网址。 “app”只是一个servlet名称,不需要出现在url中。 servlet-mapping
  3. 如果您已经正确注册了资源处理程序并在项目中包含了springfox-swagger-ui依赖项,则需要请求“http://domain:port/service/swagger-ui.html”以查看使用swagger记录的API。

请参阅以下项目检查您是否已经正确配置您的应用程序:Spring Security for REST Example Project