1. 锥智的代码规范确实不咋地,但是,既然需要在这套代码上开发,就要按照人家的规范走。<br />在后续的开发中涉及的服务又两种
  • 中台服务: business-api-rest
  • center层服务(对接数据库):xxx-center

    1.中台服务代码规范整理

    1.1Controller层

  • 请求类(需要有 _serialVersionUID_

    • 三个及以下参数:可以直接使用@RequestParam接收
    • 正常入参对象:XxxxReqVo 并实现 Serializable
    • 分页查询的对象:XxxxPageReqQueryParamsVo 并继承 PageRequest
  • 响应类 (需要有 _serialVersionUID_

    • 基本类型直接放回:BooleanLongStringList<T>
    • 正常返回对象:XxxRepVo 并实现 Serializable
    • 分页查询的对象:XxxPageRepVo 并实现Serializable ,返回值使用PageResult<> 包裹
  • 请求方式
    • @GetMapping: 使用@RequestParam接收参数的
    • @PostMapping:使用@RequestBody接收参数的
  • url编写规范
    • 全部使用小写字母,不可使用驼峰:~~getUserById ~~ -> getuserbyid
  • Swagger规范
    • tages中通过定义常量标注模块名称,value指定接口作用

image.png

  • 所有接口加上@OpenAPI
  • 所有的Controller需要继承BaseController

2.Center层服务代码规范整理

2.1 xxx-center-api

  • 请求Dto类规范(需要有 _serialVersionUID_
    • 三个及以下参数:可以直接使用@RequestParam接收
    • 正常入参对象:XxxxReqDto 并实现 Serializable
    • 分页查询的对象:XxxxPageReqQueryParamsDto 并继承 PageRequest
  • 响应Dto类规范 (需要有 _serialVersionUID_
    • 基本类型直接放回:Boolean、Long、String、List
    • 正常返回对象:XxxRepDto 并实现 Serializable
    • 分页查询的对象:XxxPageRepDto 并实现Serializable ,返回值使用PageResult<> 包裹
  • 请求方式
    • @GetMapping: 使用@RequestParam接收参数的
    • @PostMapping:使用@RequestBody接收参数的
  • url编写规范
    • 全部使用小写字母,不可使用驼峰:~~getUserById ~~ -> getuserbyid
  • Swagger规范
    • tages中通过定义常量标注模块名称,value指定接口作用

image.png

2.2 xxx-center-server

  • 分页查询统一使用一下方式编写

image.png
image.png

3.通用

  • 缓存的使用:统一放在cache目录下,继承GenericValueCacheManager<Value类型, Key类型>