简介:
为什么要用swagger,我的理由是方便,作为后端开放人员,最烦的事就是自己写接口文档和前端交互是不是需要各种参数很繁琐,项目集成swagger后就能自动生成接口文档,做到前端、后端联调接口文档的及时性和便利性。
优势:
1.支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便。
2.提供 Web 页面在线测试 API:有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。
示例如图下:
swagger基本注解使用
注解及其使用如下(对应注解):
一、 @Api:用在请求的类上,表示对类的说明常用参数
示例:
@CrossOrigin @RestController @RequestMapping("/customer/information") @Api(tags = "定制橱柜~客户信息") public class CrmCustomersController{}
接口文档示例:
二、@ApiOperation:用在请求的方法上,说明方法的用途、作用
示例:
@ApiOperation(value = "供应商~导购(状态流转)") @RequestMapping(value = "queryStateExchange", method = RequestMethod.POST) public PmpResult queryStateExchange () int pageNum,String state){}
接口文档示例:
三、@ApiModelProperty:用在属性上,描述响应类的属性
示例:
接口文档示例:
四、 @ApiIgnore 忽略某个属性,使之不显示在swagger文档中显示
未加注解前示例:
加注解后示例:
@ApiOperation(value = "客户列表") @RequestMapping(value = "customerlist", method = RequestMethod.GET) public PmpResult queryCustomerList (@ApiIgnore @RequestParam(value="pageNum",defaultValue="1") int pageNum, @RequestParam(value="pageSize",defaultValue="10") int pageSize, String customersno, String customersname, String daogouid){}
加注解后接口文档示例:
五、@ApiImplicitParams 用法
示例:
@ApiImplicitParams({ @ApiImplicitParam(value="客户编号(精确命中)",name="customersno",dataType="Stirng",paramType = "query"), @ApiImplicitParam(value="类型(04:门 05:口)",name="state",dataType="Stirng",paramType = "query"), @ApiImplicitParam(value="订单主表Uid",name="parentId",dataType="Stirng",paramType = "query")}) @RequestMapping(value = "queryByDoorOrderlist", method = RequestMethod.POST) @ApiOperation(value = "基础项目~订单~木门") public PmpResult queryByDoorOrderlist(String customersno, String state,String parentId){}
接口文档示例: 显示描述信息
以上就是常用的注解示例,如需要其他注解可自行尝试。