统一业务状态码 BizCodeEnum开发
- 状态码定义约束,共6位数,前三位代表服务,后3位代表接口
- 比如 商品服务210,购物车是220、用户服务230,403代表权限
/**
*
* @Description 状态码定义约束,共6位数,前三位代表服务,后4位代表接口
* 比如 商品服务210,购物车是220、用户服务230,403代表权限
**/
public enum BizCodeEnum {
/**
* 通用操作码
*/
OPS_REPEAT(110001,"重复操作"),
/**
*验证码
*/
CODE_TO_ERROR(240001,"接收号码不合规"),
CODE_LIMITED(240002,"验证码发送过快"),
CODE_ERROR(240003,"验证码错误"),
CODE_CAPTCHA(240101,"图形验证码错误"),
/**
* 账号
*/
ACCOUNT_REPEAT(250001,"账号已经存在"),
ACCOUNT_UNREGISTER(250002,"账号不存在"),
ACCOUNT_PWD_ERROR(250003,"账号或者密码错误");
@Getter
private int code;
@Getter
private String message;
private BizCodeEnum(int code,String message) {
this.code = code;
this.message = message;
}
}
接口统一协议 JsonData工具类开发
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JsonData {
/**
* 状态码 0 表示成功,1表示处理中,-1表示失败
*/
private Integer code;
/**
* 数据
*/
private Object data;
/**
* 描述
*/
private String msg;
/**
* 成功,传入数据
* @return
*/
public static JsonData buildSuccess() {
return new JsonData(0, null, null);
}
/**
* 成功,传入数据
* @param data
* @return
*/
public static JsonData buildSuccess(Object data) {
return new JsonData(0, data, null);
}
/**
* 失败,传入描述信息
* @param msg
* @return
*/
public static JsonData buildError(String msg) {
return new JsonData(-1, null, msg);
}
/**
* 自定义状态码和错误信息
* @param code
* @param msg
* @return
*/
public static JsonData buildCodeAndMsg(int code, String msg) {
return new JsonData(code, null, msg);
}
/**
* 传入枚举,返回信息
* @param codeEnum
* @return
*/
public static JsonData buildResult(BizCodeEnum codeEnum){
return JsonData.buildCodeAndMsg(codeEnum.getCode(),codeEnum.getMessage());
}
}
使用
改造 Controller 层
@GetMapping("/find/{address_id}")
public JsonData detail(@PathVariable("address_id")Long addressId){
AddressDO addressDO = addressService.detail(addressId);
return JsonData.buildSuccess(addressDO);
}
标签:code,return,JsonData,响应,private,接口,msg,封装,public
From: https://www.cnblogs.com/xiaoyangabc/p/17039830.html