SpringBoot(八)_springboot集成swagger2
2018-06-03 17:30
513 查看
swagger是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。
(1) 引入依赖,我们选择现在最新的版本
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency>
(2) 写配置类
/** * @Auther: curry * @Date: 2018/6/3 12:46 * @Description: */ @Configuration @EnableSwagger2 public class SwaggerProperties { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.imooc.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("springboot利用swagger构建api文档") .description("") .termsOfServiceUrl("") .version("1.0") .build(); } }
(3) 在controller 中进行引入注解(当然也可以不写)
/** * @Auther: curry * @Date: 2018/5/28 21:57 * @Description: */ @RestController public class GirlController { private final static Logger logger = LoggerFactory.getLogger(GirlController.class); @Resource private GirlRepository girlRepository; @Resource private GirlService girlService; @ApiOperation(value="获取女孩列表", notes="获取女孩列表") @GetMapping("/girls") public List<Girl> getList(){ logger.info("getList"); return girlRepository.findAll(); } @ApiOperation(value = "添加女孩" ,notes="添加女孩") @PostMapping("/girls") public Result<Girl> girlAdd(@Valid Girl girl, BindingResult bindingResult){ if(bindingResult.hasErrors()){ return ResultUtil.error(1,bindingResult.getFieldError().getDefaultMessage()); } return ResultUtil.success(girlRepository.save(girl)); } @ApiOperation(value = "查找女孩",notes = "查找女孩") @ApiImplicitParam(name = "id" ,value ="查找女孩" ,required = true,dataType = "int",paramType = "path") @GetMapping(value = "/girls/{id}") public Girl find(@PathVariable(value = "id") Integer id){ return girlRepository.findById(id).get(); } @ApiOperation(value = "修改女孩",notes = "根据id查找女孩并修改") @PostMapping(value = "/girls/{id}") public Girl update(@PathVariable(value = "id") Integer id, @RequestParam("name") String name, @RequestParam("age") int age){ Girl girl = new Girl(); girl.setId(id); girl.setAge(age); girl.setName(name); return girlRepository.save(girl); } @ApiOperation(value = "删除女孩",notes = "根据id删除女孩") @DeleteMapping(value = "/girls/{id}") public void delete(@PathVariable(value = "id") Integer id){ girlRepository.deleteById(id); } @ApiOperation(value = "根据年龄查询女孩") @GetMapping(value = "/girls/age/{age}") public List<Girl> findByAge(@PathVariable(value = "age") Integer age){ return girlRepository.findByAge(age); } @GetMapping(value = "/girls/getAge/{id}") public void getAge(@PathVariable("id") Integer id) throws Exception { girlService.getAge(id); } }
(4) 访问http://localhost:8099/swagger-ui.html
(5)当然,你也可以不在controller 中增加这个注解,是不是感觉很方便,很能测试,just do it!
相关文章推荐
- 企业级 SpringBoot 教程 (十一)springboot集成swagger2,构建优雅的Restful API
- SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
- springboot集成swagger2构建RESTful API文档
- springboot项目集成Swagger2
- Spring Boot集成Swagger2项目实战
- Spring Boot集成Swagger2
- SpringBoot+Maven项目实战(2):集成SpringBoot
- SpringCloud SpringBoot mybatis 分布式微服务(二十六)集成swagger2构建Restful API
- SpringCloud SpringBoot mybatis 分布式微服务(三十)springboot集成swagger2,构建优雅的Restfu API
- 【SpringBoot探索四】SpringBoot项目集成Swagger2管理接口文档
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
- SpringBoot学习之统一异常处理、404处理以及集成Swagger2
- 使用SpringBoot搭建小型项目,集成mybatis,redis,swagger2,并部署在外部容器中。
- springboot集成swagger2,构建优雅的Restful API
- Springboot集成Swagger2
- 从零学springboot—— springboot集成jsp
- SpringBoot入门-16(springboot集成mybatis注解形式)
- spring boot : 集成swagger2 (REST详细设计文档)
- Swagger2 SpringMVC集成(非SpringBoot)