在互聯(lián)網(wǎng)公司, 微服務(wù)的使用者一般分為兩種, 客戶端和其他后端項目(包括關(guān)聯(lián)微服務(wù)),不管是那方對外提供文檔 讓別人理解接口 都是必不可少的棚辽。傳統(tǒng)項目中一般使用wiki或者文檔, 修改繁瑣冰肴,調(diào)用方不一定及時了解變化屈藐。 微服務(wù)時代,效率第一嚼沿,使用Swagger可以在部署的時候生成在線文檔估盘,同時UI也特別漂亮清晰,可謂提供api之利器骡尽,Swagger 讓部署管理和使用功能強大的API從未如此簡單遣妥。網(wǎng)上Swagger文章不少, 但是少有跟SpringBoot集成攀细,故而來一篇箫踩,造福社會.
1. pom.xml 配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<springfox.version>2.2.2</springfox.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.version}</version>
</dependency>
</dependencies>
2. 創(chuàng)建SwaggerDemoController.java
@RestController
@RequestMapping("/user")
@EnableSwagger2
public class SwaggerDemoController {
@RequestMapping(value = "/demo2.do")
String getDemo() {
return "Hello World \n" + "Spring boot3";
}
@Bean
public Docket swaggerSpringMvcPlugin() {
ApiInfo apiInfo = new ApiInfo("sample of springboot", "sample of springboot", null, null, null, null, null);
Docket docket = new Docket(DocumentationType.SWAGGER_2).select().paths(regex("/user/.*")).build()
.apiInfo(apiInfo).useDefaultResponseMessages(false);
return docket;
}
}
3. 創(chuàng)建DemoApplication.java
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
4. api查看
http://localhost:8080/swagger-ui.html
5. 后記
swagger 集成也是十分簡單爱态, 更多功能可以到 官網(wǎng)http://swagger.io/ 研究.