皆非的万事屋 - springboot
type: channel
link: https://www.makeyourchoice.cn/tag/springboot/
items: 新乡学院统战部开发规约

新乡学院统战部开发规约
type: item
date: 2020-09-12T04:01:00+00:00
description: 新乡学院统战部开发规约 接口风格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)