项目目录
目录接口参考 项目目录结构设计,增加部分领域模型后缀强制定义,方便统一编码风格。
controller:请求处理 @RestController
module:按大业务区分,对多个业务对象数据聚合处理 @Component
manager:按业务对象区分,对同一业务对象的数据聚合处理 @Component
service:按业务对象区分,主要负责数据获取
impl:主要负责数据获取的接口的具体实现 @Service
dao:主要负责数据访问层
xxxDao:固定后缀 Dao @Repository
config:配置类集合目录
dto:数据传输协议,用于 module、manager、service之间的数据传输
xxxDTO:固定后缀 DTO
model:持久层数据协议映射
xxxBean:固定后缀 Bean
query:前端请求接收DTO,用于接收及校验参数
xxxQuery:固定后缀 Query
vo:返回前端数据封装视图DTO
xxxVO:固定后缀 VO
component:流程扩展处理模块,如redis操作,aop,过滤器等
utils: 主要负责一些通用工具类的集合目录
resources
mapper
xxxMapper.xml Mybatis 复杂sql实现,简单sql可用mybatis plus 接口实现
TODO: 项目脚手架
response-starter
1、统一返回封装
{
“statusCode”: 0,
“statusMsg”: “success”,
“data” : null
}
2、自定义异常 BaseException
3、自定义响应码枚举及接口 ResponseEnum DefaultResponseEnum
3、ControllerAdvice 全局异常 处理
/**
- 自定义异常
- @param ex 自定义异常 {@link BaseException}
- @return 返回 200
*/
@ResponseStatus(HttpStatus.OK)
@ExceptionHandler(BaseException.class)
public BaseResponseVO handleBusException(BaseException ex) {
return new BaseResponseVO<>(ex.getCode(), ex.getMsg(), ex.getData());
}
/**
- 参数校验失败
- @param e {@link MethodArgumentNotValidException}
- @return 返回 400
*/
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public BaseResponseVO methodArgumentNotValidException(MethodArgumentNotValidException e) {
ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
return new BaseResponseVO<>(DefaultResponseEnum.VALIDATE_FAILED, objectError.getDefaultMessage());
}
/**
- 未定义异常
- @param e 异常
- @return 返回 500
*/
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(Exception.class)
public BaseResponseVO handleException(Exception e) {
return new BaseResponseVO<>(DefaultResponseEnum.FAIL, e.getMessage());
}
4、ExceptionControllerAdvice 和 ResponseControllerAdvice 默认关闭,开启方式 application.yml 配置
zixun:
response:
advice-exception-enabled: true
advice-response-body-enabled: true
5、返回对象属性默认为 statusCode 和 statusMsg, 修改方式 application.yml 配置文章来源:https://www.toymoban.com/news/detail-632960.html
zixun:
response:
status-code: status_code
status-msg: status_msg文章来源地址https://www.toymoban.com/news/detail-632960.html
到了这里,关于项目规范 编写规范(范例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!