4 springboot 集成swagger2

2018-12-24 09:09:07来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Swagger:实时生成在线接口文档,方便测试和沟通

官网地址:https://swagger.io/

 

引入依赖

 1 <dependency>
 2    <groupId>io.springfox</groupId>
 3    <artifactId>springfox-swagger2</artifactId>
 4    <version>2.9.2</version>
 5 </dependency>
 6 <dependency>
 7    <groupId>io.springfox</groupId>
 8    <artifactId>springfox-swagger-ui</artifactId>
 9    <version>2.9.2</version>
10 </dependency>

 

somefun-web模块中创建包 com.zhj.somefun.web.configurer

创建类Swagger2Config

一定要在启动类SomefunWebApplication能扫描的到的包下

 1 @Configuration
 2 @EnableSwagger2
 3 @Profile({"dev","test"})  // 表示只在开发和测试环境中使用
 4 public class Swagger2Config {
 5 
 6     @Bean
 7     public Docket createRestApi() {
 8         return new Docket(DocumentationType.SWAGGER_2)
 9                 .apiInfo(apiInfo())
10                 .select()
11                 // 只有Api注解的方法才会生成文档
12                 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))  
13                 //这个包下的控制器才会生成文档
14                 .apis(RequestHandlerSelectors.basePackage("com.zhj.somefun.web.controller"))  
15                 .paths(PathSelectors.any())
16                 .build();
17     }
18 
19     private ApiInfo apiInfo() {
20         return new ApiInfoBuilder()
21                 .title("测试平台")
22                 .version("1.0")
23                 .description("描述")
24                 .build();
25     }
26 }

 

创建测试控制器类 LoginController

 1 @RestController
 2 @RequestMapping("/login")
 3 @Api("登录相关的api")
 4 public class LoginController {
 5 
 6     @ApiOperation("登录接口")
 7     @ApiImplicitParams({
 8             @ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String"),
 9             @ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String")
10     })
11     @PostMapping("/login")
12     public String login(@RequestParam("username") String username,
13                             @RequestParam("password") String password) {
14         return "ok";
15     }
16 
17     @ApiOperation("退出登录接口")
18     @PostMapping("/loginout")
19     public String loginout() {
20         return "ok";
21     }
22     
23 }

 

我们运行项目 访问http://localhost:8001/swagger-ui.html

 

 

我们可以再次测试下将application.yml文件中的active值改为prod,然后在启动项目会发现无法在进入此页面。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Hibernate与mybatis比较

下一篇:java加载redis以及基本操作