新乡学院统战部开发规约

  • 接口风格restful
  • 接口地址/api/controller名 (全小写)
  • 接口访问权限
    • 开发时,尽量都加上@AnonymousAccess
    • 最后同一看需求改为@PreAuthorize("@el.check('xxx:xxx')")
  • 接口参数类型
    • GET (实体类/dto)
    • POST/PUT/DELETE (实体类/dto用@RequestBody,单个参数用@RequestParam)
  • 参数校验 (实体类/DTO中使用@NotBlank/@NotNull,接口中使用@Validated)
    • 业务校验,插入的实体不能预先存在,修改/删除的实体不能不存在
  • 日志打印
    • log.info(【模块名】+相关信息)
  • 异常抛出
    • throw new BadRequestException("")
    • throw new EntityExisedException()
    • throw new EntityNotFoundException()
  • 响应体
    • data (查询同一响应数据)
    • message
    • errno
  • modules分package开发,swagger分spec
  • 事务控制,在Service里的方法加@Transactional(rollbackFor = Exception.class)
最后修改:2020 年 09 月 24 日