本文共 3018 字,大约阅读时间需要 10 分钟。
创建一个SpringBoot工程SpringbootSwagger。
添加依赖
io.springfox springfox-swagger2 2.6.1 io.springfox springfox-swagger-ui 2.6.1
编写swagger配置文件
package com.example;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * Created by chenh on 2017/3/24. */@EnableSwagger2@Configurationpublic class Swagger2 { @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("SpringBoot测试使用Swagger2构建RESTful API") .contact("陈海峰") .version("1.0") .description("API 描述") .build(); }}编写Restful API
@RestControllerpublic class Controller { private HashMap运行效果users = new HashMap (); @ApiOperation(value = "测试post请求", notes = "注意事项") @ApiImplicitParam(dataType = "User", name = "user", value = "用户信息", paramType = "body", required = true) @RequestMapping(value = "/createUser", method = RequestMethod.POST) public String createUser(@RequestBody User user){ users.put(user.getId(), user); System.out.println(users); return "success"; } @ApiOperation(value = "测试get请求", notes="注意事项") @ApiImplicitParam(name = "id", value = "用户id", dataType = "String", paramType = "path") @RequestMapping(value = "/selectUser/{id}", method = RequestMethod.GET) public User selectUser(@PathVariable String id){ System.out.println(id); User user = users.get(Integer.parseInt(id)); System.out.println("user: " + user); return user; } @ApiOperation(value = "测试组合注解", notes = "注意事项") @ApiImplicitParams({ @ApiImplicitParam(dataType = "User", name = "user", value = "用户信息", required = true, paramType = "body"), @ApiImplicitParam(dataType = "string", name = "id", value = "用户id", required = true, paramType = "path") }) @RequestMapping(value = "/updateUser/{id}", method = RequestMethod.POST) public User updateUser(@PathVariable String id, @RequestBody User user){ users.put(user.getId(), user); return user; } @ApiIgnore public String testIgnore(){ return "success"; }}
工程源代码
https://github.com/chenhaifeng2016/SpringbootSwagger