SpringBoot使用Swagger2构建API文档
1、Swagger2介绍
Swagger2这套自动化文档工具来生成文档,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。
2、SpringBoot开启Swagger2支持
1、导入依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
2、设置配置类
package com.offcn.demo.config; 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; @Configuration @EnableSwagger2 public class SwaggerConfig { public ApiInfo apiInfo(){ return new ApiInfoBuilder().title("Spring Boot中使用Swagger2构建RESTful APIs").description("u就业") .termsOfServiceUrl("http://www.ujiuye.com/").contact("Sunny").version("0.0.1").build(); } @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.offcn.demo.Controller")) .paths(PathSelectors.any()).build(); } }
3、在controller层中的代码添加文档注释
通过@ApiOperation注解来给API增加说明 通过@注解来给参数增加说明
@GetMapping("/getMap") @ApiOperation(value = "获得数据",notes = "获得数据") @ApiImplicitParam(name = "id" ,value = "用户id",required = true,dataType = "Integer")//required是否是必填属性 public Map getMap(Integer id){ Map<String,String> map=new HashMap<>(); map.put("name","xzy"); return map;} @RequestMapping("/test/{id}")@ApiOperation(value = "输出汽车的id和name",notes = "输出汽车的id和name")@ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "汽车id",dataType = "Integer",required = true), @ApiImplicitParam(name = "name",value = "汽车牌子",dataType = "String",required = true)})public Car getCar(@PathVariable("id") Integer id, @RequestParam("name") String name){ Car c = new Car(id, name, 100000, new Date()); return c;}
4、查看生成的文档
http://localhost:8080/swagger-ui.html
相关推荐
莫问前程 2020-06-22
莫问前程 2020-06-14
SAMXIE 2020-04-17
pontuss 2020-04-09
smalllove 2020-03-27
meleto 2020-03-05
SAMXIE 2020-11-04
XuDanT 2020-09-16
permanent00 2020-09-15
哈嘿Blog 2020-09-08
Qizonghui 2020-08-02
莫问前程 2020-08-02
SAMXIE 2020-07-26
XuDanT 2020-07-24
莫问前程 2020-07-18
Qizonghui 2020-07-18
coolhty 2020-07-05
Qizonghui 2020-06-28
Qizonghui 2020-06-25