- 统一日志
- 类增加 @Slf4j 注解
- 严禁System.out.print
- log.debug() 调试输出 (开发测试时使用)
- log.info() 关键信息输出 (保留上线)
- log.warn() 警告信息输出(开发人员关键业务数据异常监控)
- log.error() 异常信息
- 类增加 @Slf4j 注解
- 统一异常处理
- 统一捕获异常 Controller AOP
- Service定义 : 统一 throws Exception
- Exception定义:
- BusinessException
- 业务逻辑方面上的异常(数据库数据重复,已存在,该状态不可删除等)
- ParameterException
- 非法参数异常(参数NPE判断等)
- NetworkException
- 网络方面异常(包括SocketException, 网络超时等)
- ThirdpartyException
- 第三方服务异常(短信, Gis 等与第三方交互时产生的异常)
- IOException
- 文件IO方面异常
- BusinessException
- 统一RestAPI风格
- Method
- GET - 获取
- /api/ship/task/1
- /api/ship/task/list
- POST - 创建
- /api/ship/task
- PUT - 更新
- /api/ship/task/1
- DELETE - 删除
- /api/ship/task/1
- GET - 获取
- 返回值
- 沿用AjaxResult.java { code : 0, msg : "添加成功" , data : {ID:100} }
- Method
- 统一配置管理
- 常量类,字典表
- IP,URL等配置文件化
- SQL规范
- SQL关键词全部大写
- SELECT FROM UPDATE DELETE LIMIT INNER JOIN 等
- SQL关键词全部大写
- 代码提交规范
- 修复 XX;XX
- 新增XX;XX
- 移除XX;XX
- 优化XX;XX
- Pojo类
- 数据表Pojo类有 创建人,创建用户ID 这类字段的.
统一继承 BaseEntity 父类import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * Entity基类 * * @author Nanci */ @Data @NoArgsConstructor @AllArgsConstructor public class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "创建人id") @TableField(value = "create_by", fill = FieldFill.INSERT) private Integer createBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; @ApiModelProperty(value = "更新人id") @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private Integer updateBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private Date updateTime; }
- 数据表Pojo类有 创建人,创建用户ID 这类字段的.
- DTO 类
- 数据传输尽量使用DTO类
- 对于多字段创建RequestDTO ResponseDTO类
- 字典字段必须使用枚举
- Redis MQ命名规范
- 系统_业务_参数名_类型