目录
一、步骤一
二、步骤二
在前后端分离的项目中,为了方便前后端交互,后端往往需要给前端返回固定的数据格式,但不同的实体类返回格式不同,所以在真实开发中,我们将所有API接口设置返回统一的格式。基本上包括的有状态码,提示信息和数据等等。下面是基本的用例:
一、步骤一
创建一个包,包下创建BaseResult实体类和CodeEnum枚举类
@Getter @AllArgsConstructor public enum CodeEnum { //ok SYSTEM_OK(200,"成功"), //系统异常 SYSTEM_ERROR(501,"系统异常") ; private final Integer code; private final String message; }
@AllArgsConstructor @Data @NoArgsConstructor public class BaseResult<T>{ //状态码 private Integer code; //提示信息 private String message; //数据 private T data; //构建成功结果 public static <T> BaseResult<T> ok(){ return new BaseResult(CodeEnum.SYSTEM_OK.getCode(),CodeEnum.SYSTEM_OK.getMessage(),null); } //构建带有数据的成功结果 public static <T> BaseResult<T> ok(T data){ return new BaseResult(CodeEnum.SYSTEM_OK.getCode(),CodeEnum.SYSTEM_OK.getMessage(),data); } }
二、步骤二
编写控制器,这里我就省略了mapper接口层和service以及实现类了。
@RestController @RequestMapping("/admin") public class AdminController { @Autowired private AdminService adminService; @GetMapping("/findById") public BaseResult findById(Integer id){ return BaseResult.ok(adminService.findById(id)); } @GetMapping("/findall") public List<admin> findall(){ return adminService.findAll(); } }
浏览器输入网址。得到如下: