0-前言
现在的项目开发,基本都是前后端分离,后端专注于API接口开发,都需要编写和维护API接口文档。如果你还在用Word来编写接口文档,那你就out了,这个时候,当当当当~神兵利器swagger隆重出场!Swagger根据项目自动生成API文档,可以帮助我们更好的编写和维护API文档。Spring boot集成swagger那是必须的,好不好用,谁用谁知道。
1-springboot 集成swagger
swagger集成swagger很简单,只需几步即可:
1-1、添加maven依赖:
<!-- 4、集成swagger --> <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>
1-2、添加swagger配置
package anson.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; /** * @description: Swagger配置类 * @author: anson * @Date: 2019/9/3 22:52 * @version: 1.0 */ @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //swagger要扫描的包路径 .apis(RequestHandlerSelectors.basePackage("anson.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("springboot Swagger 测试") .description("Springboot 整合Swagger2") .termsOfServiceUrl("localhost:8090") .contact(new Contact("Swagger测试","localhost:8090/swagger-ui.html","XXXX@qq.com")) .version("1.0") .build(); } }
1-3、在controller中加入相关swagger注解
package anson.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * @description: user接口 * @author: anson * @Date: 2019/9/3 21:33 * @version: 1.0 */ @Api(value = "用户接口") @RestController @RequestMapping("/user") public class User { /* * @Author anson * @Description 有参数的方法 * @Date 2019/9/3 23:29 * @Param [id] * @return java.lang.String */ @ApiOperation(value = "获取用户", notes = "根据id查询用户信息") @ApiImplicitParam(name = "id", value = "用户id", required=true, dataType="String") //API参数 @RequestMapping(value="/getUserById",method= RequestMethod.GET) public String getUser(String id) { return ("Hello anson-" + id); } /* * @Author anson * @Description 无参数的方法 * @Date 2019/9/3 23:29 * @Param [] * @return java.lang.String */ @ApiOperation(value = "获取用户", notes = "获取用户信息") @RequestMapping(value="/getUser",method= RequestMethod.GET) public String getUser() { return "Hello anson!"; } }
完毕,就这么简单;运行行后输入配置的网址即可看见API文档,在上面可以直接运行API进行测试
源码地址:https://github.com/anson-yang/cloverDemo.git
好,本节结束,下节见