spring boot 整合Swagger2
2017-12-12 15:04
886 查看
包引入
<!-- swagger2--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
在与spring boot入口类同级目录新建Swagger2类,
配置类
@Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.xx.xx.web")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot整合Swagger2") .description("Spring Boot整合Swagger2") .termsOfServiceUrl("http://localhost:9001/swagger-ui.html") .contact("your contact") .version("1.0") .build(); } }
过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2,至此,配置完成。
项目使用
controller代码@Api(value = "测试api",description = "用户接口测试") @RestController @RequestMapping("users") public class AuthController { @ApiOperation(value = "获取用户信息",notes = "根据id获取用户信息") @ApiImplicitParam(name = "id",value = "用户id",dataType = "Long",required = true,paramType = "path") @RequestMapping(value = "{id}",method = RequestMethod.GET) public String get(@PathVariable(name = "id") Long id){ return "test"+id; } @ApiOperation(value = "新增用户",notes = "新增用户") @ApiImplicitParams({@ApiImplicitParam(name = "user",value = "用户信息",dataType = "User",required = true,paramType = "body")}) @RequestMapping(value = "",method = RequestMethod.PUT) public String add(@RequestBody User user){ return "test"+user.getUsername(); } @ApiOperation(value = "更新用户信息",notes = "更新用户信息") @ApiImplicitParams({@ApiImplicitParam(name = "user",value = "用户信息",dataType = "User",required = true,paramType = "body")}) @RequestMapping(value = "",method = RequestMethod.POST) public String update(@RequestBody User user){ return "test"+user.getUsername(); } @ApiOperation(value = "删除用户",notes = "根据id删除用户") @ApiImplicitParam(name = "id",value = "用户id",dataType = "Long",required = true,paramType = "path") @RequestMapping(value = "{id}",method = RequestMethod.DELETE) public String delete(@PathVariable(name = "id") Long id){ return "test"+id; } }
User类
@Data @ApiModel(value = "User",description = "用户信息") public class User { @ApiModelProperty(value = "用户id",required = true) private Long id; @ApiModelProperty(value = "用户名称",required = true) private String username; @ApiModelProperty(value = "备注") private String memo; }
@Data是lombok的注解,用于生成get set方法,可自行生成,或引入
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> </dependency>
启动项目访问http://localhost:9001/swagger-ui.html 即可,9001是我配置的web端口。
点开第一个,输入参数值,点击
try it out即可测试接口。
基本使用方式上图已有案例,此处需要注意到的
1、 ApiImplicitParam里面paramType 这个参数,默认为空
path 以地址的形式提交数据
query 直接跟参数完成自动映射赋值
body 以流的形式提交 仅支持POST
header 参数在request headers 里边提交
form 以form表单的形式提交 仅支持POST
相关文章推荐
- SpringBoot(七):SpringBoot整合Swagger2
- spring boot整合Swagger2
- SpringBoot实战之12 整合restful工具swagger2
- Spring Boot学习笔记 - 整合Swagger2自动生成RESTful API文档
- 个人推荐:SpringBoot整合Swagger2
- SpringBoot(七):SpringBoot整合Swagger2
- Spring Boot整合Swagger2
- SpringBoot整合Swagger2
- Spring Boot整合Swagger2的完整步骤详解
- SpringBoot整合Swagger2
- Swagger(一) SpringBoot整合Swagger2简单的例子
- SpringBoot整合系列-整合Swagger2
- spring boot整合Swagger2的示例代码
- Springboot整合swagger2项目的部署问题
- Spring Boot 整合mybatis 与 swagger2
- Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
- Swagger(一) SpringBoot整合Swagger2简单的例子
- 2018 最新 spring boot 整合 swagger2 (swagger2 版本 2.8.0)
- Swagger(一) SpringBoot整合Swagger2简单的例子
- SpringBoot整合Swagger2