开发规范说明

微服务基础支持

开发说明

@EnableCustomConfig

服务启动类可以通过@EnableCustomConfig 进行服务的初始化配置。该注解主要有以下几个作用:

  1. MappScan扫描支持
  2. ComponentScan扫描支持

@EnableCustomSwagger2

@EnableCustomSwagger2 对在线api文档支持,/doc.html访问swagger加强

@LoginUser

在controller参数中通过@LoginUser SysUser loginUser 获取当前登录用户
示例

@GetMapping(value = "/functions/manage", produces = {"application/json; charset=utf-8"})
public ResponseEntity queryManageFunctions(@LoginUser SysUser loginUser) {
 // ... 
}

@Log(title = “设计”, businessType = BusinessType.INSERT)

在controller方法上通过注解@Log 实现操作日志收集(主要针对曾、删、改操作)
示例

@PostMapping("")
@ApiOperation(value = "保存")
@Log(title = "XXX保存", businessType = BusinessType.INSERT)
public ResObject save(@Validated(ValidType.Default.class) @RequestBody BpmDefinitionDesignVO vo) {

}

@Valid

@Valid会对被标注的controller入参类进行参数校验

被标注的类中有@Length注解标注的字段,则该字段不能超过指定长度

被标注的类有@NotBlank注解标注的字段,则该字段不能为空

更多参数校验注解请参考hibernate validator

当校验条件不满足的时候,会进入统一异常处理,统一异常处理会给前端返回code为0,message为指定message的消息

示例

public ResponseEntity save(@Valid @RequestBody DeptBasic dept) {}
public class DeptBasic implements Serializable {

    @NotBlank(message = "部门名称不可为空")
    private String jgMc;

    @Length(max = 1, message = "选用标志长度最大为1")
    private String xybs;

    ...
}

开发规范

数据格式

1.写好代码注释,统一格式

类注释:
/**

  • @author 作者
  • @Description 描述
  • @Date 日期(年月日时分秒)
    */

方法注释:

/**

  • @param formId 参数1描述
  • @param instId 参数2描述
  • @param taskKey 参数3描述
  • @return ResObject 返回描述
    */
2.返回格式统一{“code”:“”,“message”:“”,“data”:“”}
属性描述
code200表示操作成功
message提示信息
data返回数据
3.做好异常处理

所有接口都必须有异常抛出,在controller里捕获所有异常并做处理
示例

	@RequestMapping(value = "/getData", method = RequestMethod.GET, produces = {"application/json; charset=utf-8"})
    @ApiOperation(value = "获取表单数据", httpMethod = "GET", notes = "获取表单数据")
    public ResObject getData(String formId, String instId, String taskKey) {
        try {
            List result = formDataService.getDatas(formId, instId, taskKey);
            return new ResObject(true, "获取表单数据成功", result);
        } catch (BusinessException e) {//业务异常捕获
            log.error(e.getMessage(), e);
            return new ResObject(false, e.getMessage());
        } catch (Exception e) {//程序异常捕获
            log.error("获取表单数据失败", e);
            return new ResObject(false, "获取表单数据失败");
        }
    }
4.请求路劲规范

常规请求统一路径:
1.分页列表请求 GET /modelName/list
示例:

@GetMapping("list")
@ApiOperation(value = "流程定义列表")
@Log(title = "流程设计", businessType = BusinessType.INSERT)
public ResObject list(@LoginUser SysUser sysUser, BpmDefinitionDesignVO vo) {

}

详情请求 GET /modelName/{modelId}

@GetMapping(value = {"/", "/{modelId}"})
@ApiOperation(value = "获取用户信息")
public ResObject getUser(@PathVariable(value = "modelId", required = true) String modelId)) {

}

2.保存请求 POST /modelName/
示例:

@PostMapping("")
@ApiOperation(value = "定义保存")
@Log(title = "设计", businessType = BusinessType.INSERT)
public ResObject saveDefinition(@LoginUser SysUser sysUser, @Validated(ValidType.Default.class) @RequestBody DefinitionDesignVO vo) {

}

3.更新请求 PUT /modelName/
示例:

@PutMapping("")
@ApiOperation(value = "定义更新")
@Log(title = "设计", businessType = BusinessType.UPDATE)
public ResObject updateDefinition(@LoginUser SysUser sysUser, @Validated(ValidType.Default.class) @RequestBody DefinitionDesignVO vo) {

}

4.删除请求 DELETE /modelName/

@DeleteMapping("")
@ApiOperation(value = "定义删除")
@Log(title = "设计", businessType = BusinessType.DELETE)
public ResObject deleteDefinition(@LoginUser SysUser sysUser,DefinitionDesignVO vo) {

}
5.feign

以feign形式提供接口服务,接口地址统一“/api”开头

6.mybatis-plus

mapper、dao 继承类BaseMapper,并在T实体类上添加@TableName、@TableId注解
示例

@Data
@TableName("sys_unit")
public class SysUnit implements Serializable {
  // ...实体类
    /**
     * 机构主键
     */
    @TableId
    private String unitId;
}


public interface SysUnitMapper extends BaseMapper<SysUnit> {
 // ...mapper || dao接口类 肠过操作可以省略代码块及自动映射
}
7.版本管理提交格式

1.git版本管理提交:
add:新增XXX功能
fix:修复XXXbug || 完善XXX功能

2.svn版本管理提交:
【提交人】XXX
【处理模块】工作流表单服务
【解决问题】新增添加表单保存接口

8.代码生成

地址:
http://192.168.6.116:8080
需要先设计数据库表,根据表结构生成controller\service\dao\entity\mapper.xml等相关代码文件

9.license存放位置

win:将license文件存放到应用所在的磁盘根路径/opt/license/文件夹下
linux:将license文件存放到/opt/license/文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值