一、在XXX-protocol下新增接口类XXXService,文件夹po和request
在接口类XXXService新增查询接口
@LiveMethod(paramAsRequestBody = true, note = “查询-周报|日报列表”)
AResponse
接口命名规范:
1)查询多条数据:queryXXX
2)查询单条数据详情:getXXX
3)新增数据:addXXX
4)更新数据:updateXXX
5)删除数据:delXXX
6)编辑数据及操作:operXXX
在接口类XXXService新增操作接口
@LiveMethod(paramAsRequestBody = true, note = “操作-新增修改删除周报|日报”)
AResponse operSummary(OperSummaryRequest request);
注意事项:
1、XXXService接口类下每个接口都需要加@LiveMethod注解
需要加note = “查询-周报|日报列表”接口说明,说明格式为查询-XXX或者操作-XXX。
需要加paramAsRequestBody = true。
2、接口里的泛型为POJO类,操作接口没有该泛型
XXXRequest里面是请求参数,入参只有UID时不需要该XXXRequest
3、@Checked注解说明,XXXRequest有参数需要校验时需要加该注解,否则不能加该注解,注解添加至xxxServiceImpl的方法上@Override@Checkedpublic AResponse}
4、操作接口调用sql时需要在操作完成后调用common-base中systemInfoService.operationLog接口,进行日志记录,操作类型有:insert、update、delete、export
在XXX-protocol下文件夹po里新增POJO类XXXInfo类名必须以Info结尾
持久化类:
注解说明:@Data:代替get和set方法,每个POJO类都要写@ApiModelProperty(notes = “拜访时间”):接口返回的字段说明,每个POJO类属性上都要写。
在XXX-protocol下文件夹request里新增请求类XXXRequest类名必须以Request结尾
请求类(接口请求参数):
注解说明:@Data:代替get和set方法,每个请求类都要写@ApiModelProperty(notes = “拜访时间”):接口请求参数的字段说明,每个请求类属性上都要写@ValidateField:参数校验,加了此注解需要在@ApiModelProperty注解了增加参数required = true@EqualsAndHashCode(callSuper = false):继承了实体类时需要增加此注解注意事项:XXXRequest为分页查询时需要继承类PagerModelXXXRequest里有参数需要校验时,需要实现RequestBodyModel
2、在XXX-module下新增文件夹mapper和service
在XXX-module下文件夹mapper里新增Mybatis映射接口XXXMapper
类名上新增注解,每个实现类都要加
@Component
@Mapper
新增查询接口示例
List
新增操作接口示例
void operSummary(Map
在XXX-module下文件夹service里新增接口实现类XXXServiceImpl
类名上新增注解,每个实现类都要加
@Transactional —事务管理
@LiveService(note = “营销管理模块-拜访服务”) —模块服务说明
引入对应的映射接口
@Resource
private XXXMapper xxxMapper;
注意事项
操作接口成功返回格式
return AResultUtil.success((String)param.get(“O_NOTE”));
非分页查询接口成功返回格式
return AResultUtil.success(XXXInfoList, (String)param.get(“O_NOTE”));
分页查询接口成功返回格式
return AResultUtil.success(XXXInfoList, (String)param.get(“O_NOTE”), request.getPageNo(), request.getPageSize());
3、在XXX-module下resource文件夹里新增文件夹mapper
在mapper新增文件XXXMapper.xml,完成接口对应的mybatis配置,
注意事项:
4、上传/下载等特殊接口(需要request或response)
在XXX-module下controller包下的XXXAction类中编写(没有的话新建)在类名上添加注解@RestController@RequestMapping(value = “/service/com.apexsoft.protocol.custom”) —value为/service加对应模块包名在接口方法上添加注解@PostMapping(value = “/v1/exportContactInfoList”) —方法调用路径名称@ApiOperation(value = “导出联系人信息列表”, notes = “导出联系人信息列表”) —方法说明注意事项方法参数中可直接获取请求体,然后自己解析,也可像service中一样用request的javaBean接收。下载接口页面调试时会报错:Failed to execute ‘createObjectURL’ on ‘URL’: Overload resolution failed.此为Knife4j解析的错误,不影响调用。
