新乡学院统战部开发规约
新乡学院统战部开发规约
- 接口风格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)