SpringMVC中使用Swagger2整合

SpringMVC中使用Swagger2整合

 

  • Swagger2是什么

 

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。 
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。

  • Swagger2官网

官网地址 

  • Swagger2的入门教程

    • Swagger2的maven依赖

 1 <!-- 构建Restful API -->
 2             <dependency>
 3                 <groupId>io.springfox</groupId>
 4                 <artifactId>springfox-swagger2</artifactId>
 5                 <version>2.4.0</version>
 6             </dependency>
 7             <dependency>
 8                 <groupId>io.springfox</groupId>
 9                 <artifactId>springfox-swagger-ui</artifactId>
10                 <version>2.4.0</version>
11             </dependency>
    • RestApiConfig的配置

 1 import org.springframework.context.annotation.Bean;
 2 import org.springframework.context.annotation.Configuration;
 3 
 4 import springfox.documentation.builders.ApiInfoBuilder;
 5 import springfox.documentation.builders.PathSelectors;
 6 import springfox.documentation.builders.RequestHandlerSelectors;
 7 import springfox.documentation.service.ApiInfo;
 8 import springfox.documentation.service.Contact;
 9 import springfox.documentation.spi.DocumentationType;
10 import springfox.documentation.spring.web.plugins.Docket;
11 import springfox.documentation.swagger2.annotations.EnableSwagger2;
12 
13 @Configuration
14 @EnableSwagger2
15 public class SwaggerConfig {
16     @Bean
17     public Docket createRestApi() {
18         return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.robot.controller.api")).paths(PathSelectors.any()).build();
19     }
20 
21     private ApiInfo apiInfo() {
22         return new ApiInfoBuilder().title("SpringMVC中使用Swagger2整合").termsOfServiceUrl("https://git.oschina.net/suntea")
23                 .contact(new Contact("hello", "http://www.cnblogs.com/hjava/", "[email protected]")).version("1.0.0").build();
24     }
25 }
    • 在Controller中添加  

 1 @Api(value = "Api控制器")
 2 @Controller
 3 @RequestMapping("/api")
 4 public class ApiConfigController {
 5 
 6     @ApiResponse(code = 200, message = "success", response = Result.class)
 7     @ApiOperation(value = "获取用户对象", httpMethod = "GET", response = String.class, notes = "根据用户名获取用户对象")
 8     @RequestMapping(value = "apiGetId", method = RequestMethod.GET, produces = "application/json")
 9     @ResponseBody
10     public Object getId(@ApiParam(name = "userId", required = true, value = "用户Id") @RequestParam("id") String id) {
11         Result res = new Result();
12         res.setMsg("msg=" + id);
13         res.setSuccess(true);
14         return res;
15     }
16 }
    •   结果

SpringMVC中使用Swagger2整合

以上就完成了。有问题请留言。

posted on 2017-06-21 16:55 phlive 阅读(...) 评论(...) 编辑 收藏