JAVA全系列 教程
3762个小节阅读:7091k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在前后端分离的项目中,为了方便前后端交互,后端往往需要给前端返回固定的数据格式,但不同的实体类返回格式不同,所以在真实开发中,我们将所有API接口设置返回统一的格式。
在通用模块创建统一返回结果实体类
xxxxxxxxxx
/**
* 统一结果集返回结果
*/
@Data
@AllArgsConstructor
public class BaseResult<T> {
// 状态码(成功:200 失败:其他)
private Integer code;
// 提示消息
private String message;
// 返回数据
private T data;
// 构建成功结果
public static <T> BaseResult<T> ok() {
return new BaseResult(CodeEnum.SUCCESS.getCode(), CodeEnum.SUCCESS.getMessage(), null);
}
// 构建带有数据的成功结果
public static <T> BaseResult<T> ok(T data) {
return new BaseResult(CodeEnum.SUCCESS.getCode(), CodeEnum.SUCCESS.getMessage(), data);
}
}
/**
* 返回状态码枚举类
*/
@Getter
@AllArgsConstructor
public enum CodeEnum {
// 正常
SUCCESS(200, "OK")
;
private final Integer code;
private final String message;
}
修改API模块的控制器方法,所有方法都返回BaseResult
对象
xxxxxxxxxx
/**
* 品牌
*/
@RestController
@RequestMapping("/brand")
public class BrandController {
// 远程注入
@Reference
private BrandService brandService;
/**
* 根据id查询品牌
*
* @param id 品牌id
* @return 查询结果
*/
@GetMapping("/findById")
public BaseResult<Brand> findById(Long id) {
Brand brand = brandService.findById(id);
return BaseResult.ok(brand);
}
}