前后端分离的系统架构中,前端开发人员需要查看后端WEB API的文档来进行开发。采用后端API文档自动生成的方式,可以大幅提高开发效率。swagger是一个被广泛使用的文档自动生成工具,可以与多种编程语言结合使用。我们可以利用合适的jar包,让swqgger来协助java开发。本文讲述了如何把 swagger 与 Spring Boot 框架结合起来使用。
我用一个项目来解释如何完成上述的目标。打开 eclipse。 File → New → Maven Project → 选中Create a simple project(skip archetype selection)和Use default Workspace location → Next → Group Id 填成 zhangchao,Artifact Id 填成 blog4 → Finish。这时我们可以在eclipse中看到一个blog4项目。
当我们完成blog4项目的时候,blog4的目录结构应该如下:
blog4
│
├─ pom.xml
│
└─ src
│
└─ main
│
├─ java
│ └─ zhangchao
│ │
│ └─ blog4
│ │
│ ├─ Blog4Application.java
│ ├─ Blog4MvcConfig.java
│ ├─ User.java
│ ├─ UserAddressController.java
│ └─ UserController.java
│
└─ resources
├─ application.properties
└─ public
├─ css
└─ images
我使用 Maven 来管理项目。 Maven 项目的配置文件 pom.xml 内容如下:
4.0.0
zhangchao
blog4
0.0.1-SNAPSHOT
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-parent
1.4.2.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
io.springfox
springfox-swagger-ui
2.6.1
io.springfox
springfox-swagger2
2.6.1
org.springframework.boot
spring-boot-maven-plugin
pom.xml 文件中 groupId 是 io.springfox 的两个依赖是自动生成文档所需的依赖组件。
java/main/resources下的application.properties 文件内容:
spring.jackson.serialization.indent_output=true
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
Blog4Application.java 启动项目,代码如下:
package zhangchao.blog4;
import org.springfram