业务需求 因为是前后端分离项目,存在前后端都深刻理解业务的逻辑,及其字段含义,为了减少前后端交互成本,所以利用swagger 来进行下列工作
API详细说明
注释汇总
作用范围 | API | 使用位置 |
---|---|---|
对象属性 | @ApiModelProperty | 用在出入参数对象的字段上 |
协议集描述 | @Api | 用于controller类上 |
协议描述 | @ApiOperation | 用在controller的方法上 |
Response集 | @ApiResponses | 用在controller的方法上 |
Response | @ApiResponse | 用在 @ApiResponses里边 |
非对象参数集 | @ApiImplicitParams | 用在controller的方法上 |
非对象参数描述 | @ApiImplicitParam | 用在@ApiImplicitParams的方法里边 |
描述返回对象的意义 | @ApiModel | 用在返回对象类上 |
1.样例数据
@ApiImplicitParam
属性 | 取值 | 作用 |
---|---|---|
paramType | 查询参数类型 | |
path | 以地址的形式提交数据 | |
query | 直接跟参数完成自动映射赋值 | |
body | 以流的形式提交 仅支持POST | |
header | 参数在request headers 里边提交 | |
form | 以form表单的形式提交 仅支持POST | |
dataType | 参数的数据类型 只作为标志说明,并没有实际验证 | |
Long | ||
String | ||
name | 接收参数名 | |
value | 接收参数的意义描述 | |
required | 参数是否必填 | |
true | 必填 | |
false | 非必填 | |
defaultValue | 默认值 |
代码
@CrossOrigin
@GetMapping
@ApiOperation(value = "更新数据字典数据",notes = "码表主键:ID(必填项)<br/>") @ApiImplicitParams({
@ApiImplicitParam(name="itemname",value = "名称",defaultValue = "T1-3",paramType = "query",required = false),
@ApiImplicitParam(name="dictype",value = "字典类型",defaultValue = "MarketType",paramType = "query",required = false),
@ApiImplicitParam(name="pagenum",value = "第几页",defaultValue = "1",paramType = "query",required = true),
@ApiImplicitParam(name="pagesize",value = "每页几条",defaultValue = "5",paramType = "query",required = true),
})
public ResultVO getCommonDictionaryItemList(@RequestParam("itemname")String itemname,@RequestParam("dictype")String dictype,@RequestParam("pagenum")int pagenum, @RequestParam("pagesize")int pagesize){
PageUtil<CommonDictionaryItem> pageUtil= commonDictionaryItemService.getCommonDictionaryItemList(itemname,dictype,pagenum,pagesize);
return ResultVOUtil.success(pageUtil);
}
2.属性对应
代码
扫描二维码关注公众号,回复:
63839 查看本文章
@ApiModel(value = "审批日志entity") public class xxx implements Serializable{ @ApiModelProperty(name="id",value = "主键id",example = "1",readOnly = true) private Integer id; @ApiModelProperty(value = "用户编号") private String usercode; @ApiModelProperty(value = "用户名称") private String username; @ApiModelProperty(value = "审批状态") private String auditingstateid; @ApiModelProperty(value = "审批状态名称") private String auditingstatename; @ApiModelProperty(value = "审批时间") private Date auditingtime; }
3.注意事项
4.标题的修改
private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("DLX-api文档") .description("提供给外部系统的服务接口,进行管理业务。") .termsOfServiceUrl("http://terms-of-services.url") .version("1.0") .build(); }