SpringMVC集成Swagger2,初尝试和遇到的相关问题

前言

之前项目的接口文档都是手动编写Word文档来做,制作成本较高,并且在进行版本迭代的时候进行标注和说明不是很方便,后来发现Swagger之后进行了简单的操作。
截止目前还未深度使用,本文仅记录初次使用Swagger的过程和遇到的问题,后续进行补充。
前言:
当前项目使用SpringMVC,集成Swagger2

配置

Step1:添加依赖包

    
    <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger2artifactId>
            <version>2.6.1version>
        dependency>
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger-uiartifactId>
            <version>2.6.1version>
        dependency>
    
          
        <dependency>
          <groupId>com.fasterxml.jackson.coregroupId>
          <artifactId>jackson-coreartifactId>
          <version>2.6.5version>
        dependency>
    <dependency>
          <groupId>com.fasterxml.jackson.coregroupId>
          <artifactId>jackson-databindartifactId>
          <version>2.6.5version>
          
     dependency>
     

Step2:添加Spring配置文件中的相关配置:

    
    
        <mvc:annotation-driven />
        
    <mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
    <mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
    
    <bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/> 
    
    <context:component-scan base-package="com.train.action" >context:component-scan>
        

备注:本次使用的Swagger相关配置是Swagger的默认配置,也可以通过

class="com.swagger.doc.MySwaggerConfig" />

已上的方式自定义swagger配置类并配置bean。

step3:确定Spring的url-pattern映射关系为 /:

    
  <servlet>
    <servlet-name>springservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    <init-param>
      <param-name>contextConfigLocationparam-name>
      <param-value>classpath:/config/spring-mvc.xmlparam-value>
    init-param>
    <load-on-startup>1load-on-startup>
    <async-supported>trueasync-supported>
  servlet>
  <servlet-mapping>
    <servlet-name>springservlet-name>
    <url-pattern>/url-pattern>
  servlet-mapping> 

备注:

spring的映射一定要是/,否则swagger2中需要引入相关静态资源可能会因为找不到而导致页面加载失败。
例如:
http://localhost/swagger-resources/configuration/ui Failed to load resource: the server responded with a status of 404 (Not Found)

以上为本次记录的全部内容,注解相关API请移步官网参考,因没有正式深度使用,记录的内容较为粗浅,后续正式使用后会进行更新。

你可能感兴趣的:(Spring)