随着软件过程的不断发展,先后端分离开发模式被愈来愈的开发团队使用,今天介绍下先后分离中必用的接口设计与调试工具-swagger2,前端人员根据swagger的描述,进行参数的传递;先后端联调的时候,出现问题,首先使用swagger进行测试调用,定位问题,还能够经过界面导出swagger2接口文档,修改完善后做为其余系统调用说明文档。前端
采用springboo+swagger2方式运行swagger。java
<!--swagger--> <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>
@EnableSwagger2 //启动swagger注解 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
@Api(description = "测试管理类") public class TestController { @RequestMapping(value = "/getTestByUid", method = RequestMethod.GET) @ApiOperation(value = "查询接口,获取当前用户数据", response = Object.class) public Object getTestByUid(@ApiParam(value = "类型,1公开,2新建,3收藏4,分享") @RequestParam String type) { try { Object result = testService.getTestByUid(type); return new ResponseEntity(result, HttpStatus.OK); } catch (Exception e) { logger.error("查询接口报错", e); return new ResponseEntity(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); } } }
通常使用这几个标签就够用了,详细API说明能够百度一下,就不一一说明了。node
(1) @Api(description = "测试管理类")spring
该标签用于类上,是对整个类的说明,例如:用户管理模块,会在swagger2界面上生成一个一级菜单,方法是它的二级菜单。后端
(2) @ApiOperation(value = "查询接口,获取当前用户数据", response = Object.class)springboot
该标签用于方法上,Value是描述,还能够定义nodes进行进一步说明。app
(3)@ApiParam(value = "类型,1公开,2新建,3收藏4,分享")前后端分离
改标签用于定义参数描述。工具
三个标签分别是类->方法->参数测试
另外:点击 ”Try it out“按钮就能够调用后台服务,进行先后端联调测试及问题定位。