注解使用文档
由于swagger针对我们代码工程存在不匹配的情况,针对注解决定使用我们自己研发的注解,该注解满足以下接口需求,其中我们自己定义的注解以及注解属性名与swagger大致保持一致,以这样的方式解决自动生成API文档
包含注解:@Api(类注解),@ApiOperation(方法注解),@ApiParams(方法注解,参数),@ApiParam(参数注解)
注解属性说明:
@Api
@ApiOperation
@ApiParams
@ApiParam
备注:
枚举类:
ApiModuleEnum
ApiTypeEnum
ApiParamLocationEnum
示例
Event示例
@Api(module = ApiModuleEnum.meeting,value = "会议待办生成监听事件",type = ApiTypeEnum.EVENT)
public class MeetingAffairsAssignedEvent extends Event{
@ApiOperation(name = "获取Affairs",value = "获取Affairs",scenes = "事件get/set方法")
public List<CtpAffair> getAffairs() {
return affairs;
}
@ApiOperation(name = "设置Affairs",value = "设置Affairs",scenes = "事件get/set方法")
public void setAffairs(@ApiParam(name = "affairs",value = "affairs",required = true,classType = List.class) List<CtpAffair> affairs) {
this.affairs = affairs;
}
}Rest示例
@ApiOperation(name = "获取人员的头像",value = "获取人员的头像",scenes = "获取人员的头像")
public Response getAvatar(@PathParam("memberId") @ApiParam(name = "memberId",value = "人员id",required = true,classType = Long.class) Long memberId,
@QueryParam("showType")@DefaultValue("small") @ApiParam(name = "showType",value = "是否显示为缩略图,默认显示:small",required = true,classType = String.class) String showType,
@QueryParam("maxWidth")@DefaultValue("400") @ApiParam(name = "maxWidth",value = "缩略图最大宽度,默认为(400)",required = true,classType = int.class) int maxWidth) throws Exception {
}rest接口最新规范:https://open.seeyoncloud.com/v5dev/39/76/
Dynamic动态接口示例
@Since("8.1")
@Api(module = ApiModuleEnum.meeting,value = "会议-动态埋点",type = ApiTypeEnum.DYNAMIC)
public abstract class MeetingAjaxManagerImplDynamicApi implements MeetingDynamicApi {
/**
动态埋点:MeetingAjaxManagerImpl中findMeetingList方法结束时,执行其他客开动作
场景:专题会议和原会议共用了会议的列表,需要重写列表里面的数据
@param params 参数
/
@Since("8.1")
@ApiOperation(name = "查找会议列表后",value = "MeetingAjaxManagerImpl中findMeetingList方法结束时,执行其他客开动作",scenes = "专题会议和原会议共用了会议的列表,需要重写列表里面的数据",createDate = "2021/7/5")
public void afterFindMeetingList(@ApiParam(name = "params", value = "DynamicMeetingListParam", required = true, classType = DynamicMeetingListParam.class) DynamicMeetingListParam params){};
}
