博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot(八)_springboot集成swagger2
阅读量:5750 次
发布时间:2019-06-18

本文共 3400 字,大约阅读时间需要 11 分钟。

swagger是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。

(1) 引入依赖,我们选择现在最新的版本

io.springfox
springfox-swagger2
2.8.0
io.springfox
springfox-swagger-ui
2.8.0

(2) 写配置类

/** * @Auther: curry * @Date: 2018/6/3 12:46 * @Description: */@Configuration@EnableSwagger2public 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: */@RestControllerpublic 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
getList(){ logger.info("getList"); return girlRepository.findAll(); } @ApiOperation(value = "添加女孩" ,notes="添加女孩") @PostMapping("/girls") public Result
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
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

enter image description here
enter image description here

(5)当然,你也可以不在controller 中增加这个注解,是不是感觉很方便,很能测试,just do it!

转载于:https://www.cnblogs.com/zhenghengbin/p/9129870.html

你可能感兴趣的文章
自己动手写docker-3
查看>>
Java笔记-反射机制(一)
查看>>
OpenCV在Android中的集成与简单使用
查看>>
redux v3.7.2源码解读与学习之 applyMiddleware
查看>>
【React】为什么我不再使用setState?
查看>>
Git原理与高级使用(3)
查看>>
从JDK源码看Writer
查看>>
Express 结合 Webpack 实现HMRwi
查看>>
SQL模糊查询通配符_和%处理
查看>>
ssl免费申请
查看>>
我的友情链接
查看>>
mysql优化的相关知识
查看>>
基于protobuf的RPC实现
查看>>
ehcache 常用参数
查看>>
坚信每个人都能成为品牌
查看>>
Java语言的基础知识3
查看>>
JAVA的对象复制
查看>>
jquery要怎么写才能速度最快?(转)
查看>>
cisco设备IOS上传、备份、设置启动IOS
查看>>
打开Office报错
查看>>