SpringBoot 使用(二): 集成Swagger

作者: 龙白一梦 | 来源:发表于2015-12-15 16:13 被阅读15124次

在互联网公司, 微服务的使用者一般分为两种, 客户端和其他后端项目(包括关联微服务),不管是那方对外提供文档 让别人理解接口 都是必不可少的。传统项目中一般使用wiki或者文档, 修改繁琐,调用方不一定及时了解变化。 微服务时代,效率第一,使用Swagger可以在部署的时候生成在线文档,同时UI也特别漂亮清晰,可谓提供api之利器,Swagger 让部署管理和使用功能强大的API从未如此简单。网上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. 创建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. 创建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

2.png

5. 后记

swagger 集成也是十分简单, 更多功能可以到 官网http://swagger.io/ 研究.

相关文章

网友评论

  • 翟志军:不是很喜歡這種浸入式的寫法。
  • a5b70d8caafb:apidoc 用nodeJs 来生成也是可以 ,就是要写注释
    Mr_panmin:怎么用node.js生成?
  • Dev:请问可否有demo学习一下?非常感谢
    光剑书架上的书:可参考本人的一个示例:https://github.com/EasySpringBoot/h5perf

    文章介绍:
    《Spring Boot极简教程》第14章 Spring Boot集成Swagger2构建自动化Rest API文档:
    http://www.jianshu.com/p/be05aa96fd29

    http://www.jianshu.com/p/8553f315b2c8
    龙白一梦:@Dev 可以github上去搜索下 还是很多的

本文标题: SpringBoot 使用(二): 集成Swagger

本文链接:https://www.haomeiwen.com/subject/yvvuhttx.html