返回参数规范

项目目录

目录接口参考 项目目录结构设计,增加部分领域模型后缀强制定义,方便统一编码风格。

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 配置

zixun:
response:
status-code: status_code
status-msg: status_msg

@RequestMapping注解是Spring MVC框架的一个核心注解,用于映射请求路径和处理方法。它可以应用在类级别和方法级别,用来指定请求的URL路径、请求方法、请求头等信息。 @RequestMapping注解的参数规范如下: 1. value:指定请求的URL路径,可以是一个字符串或字符串数组。例如,@RequestMapping("/user")表示处理以"/user"开头的URL请求。 2. method:指定请求的HTTP方法,可以是一个RequestMethod枚举值或枚举数组。例如,@RequestMapping(value="/user", method=RequestMethod.GET)表示处理GET方法的"/user"请求。 3. params:指定请求的参数条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", params="id=1")表示只处理带有"id=1"参数的"/user"请求。 4. headers:指定请求的头部条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", headers="Accept=application/json")表示只处理带有"Accept=application/json"头部的"/user"请求。 5. consumes:指定请求的Content-Type条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", consumes="application/json")表示只接受Content-Type为"application/json"的"/user"请求。 6. produces:指定响应的Content-Type条件,可以是一个字符串或字符串数组。例如,@RequestMapping(value="/user", produces="application/json")表示只返回Content-Type为"application/json"的响应。 7. params和headers参数支持更复杂的表达式,如使用运算符(==、!=、>、<、>=、<=)和正则表达式等。 除了以上参数,@RequestMapping注解还支持其他一些参数,如path、name、defaultValue等,可以根据具体需求选择使用。 需要注意的是,Spring MVC还提供了一系列的派生注解,如@GetMapping、@PostMapping、@PutMapping、@DeleteMapping等,它们是对@RequestMapping的进一步封装,更加简洁易用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值