本文章更新页请至:http://blog.csdn.net/MikeLC7/article/details/75088123
之前项目的接口文档都是手动编写Word文档来做,制作成本较高,并且在进行版本迭代的时候进行标注和说明不是很方便,后来发现Swagger之后进行了简单的操作。 截止目前还未深度使用,本文仅记录初次使用Swagger的过程和遇到的问题,后续进行补充。 前言: 当前项目使用SpringMVC,集成Swagger2
Step1: 添加依赖包
<textarea readonly="readonly" name="code" class="java">
<!--springfox 相关依赖 start-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<!--springfox 相关依赖 end-->
<!-- 映入JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.5</version>
<!-- <scope>provided</scope> -->
</dependency>
<!-- 映入JSON -->
</textarea>
Step2: 添加Spring配置文件中的相关配置:
<textarea readonly="readonly" name="code" class="java">
<!-- swagger start-->
<!-- 启动注解 -->
<mvc:annotation-driven />
<!-- 配置Swagger相关静态资源 -->
<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
<!-- 引用Swagger 默认配置 -->
<bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/>
<!-- 添加Swagger2 扫描目录 -->
<context:component-scan base-package="com.train.action" ></context:component-scan>
<!-- swagger end -->
</textarea>
备注:本次使用的Swagger相关配置是Swagger的默认配置,也可以通过
<textarea readonly="readonly" name="code" class="XML">
<bean class="com.swagger.doc.MySwaggerConfig" />
</textarea>
已上的方式自定义swagger配置类并配置bean。
step3: 确定Spring的url-pattern映射关系为 /:
<textarea readonly="readonly" name="code" class="XML">
<!-- Spring MVC servlet -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/config/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</textarea>
备注:spring的映射一定要是/,否则swagger2中需要引入相关静态资源可能会因为找不到而导致页面加载失败。
例如:
http://localhost/swagger-resources/configuration/ui Failed to load resource: the server responded with a status of 404 (Not Found)
以上为本次记录的全部内容,注解相关API请移步官网参考,因没有正式深度使用,记录的内容较为粗浅,后续正式使用后会进行更新。