ServerResponse<T>
结构说明
4种返回值状态
构造方法
获取ServerResponse实例
前言:
Java架构师进阶课程之电商一期项目服务端开发,采用动静分离模式,服务端与客户端通过json交换数据,因此在服务端需要封装高可用、高复用的前端响应对象ServerResponse。
ServerResponse结构说明
ServerResponse分为三部分,分别是status、msg、data。
如下图所示
status:接口返回状态码;
status=0,接口调用成功并将返回值封装在data字段中。
status!=0,接口调用成功但没有返回值,其原因封装在msg字段中。
msg:调用接口没有返回数据时的原因说明。
data:接口的返回数据
ServerResponse返回字段的四种状态
1,status
比如:前台取消订单,取消成功后其接口返回值如下
2,status msg
比如:登录接口,登录接口未返回数据
3,status data
比如:登录接口,登录接口返回数据
4,status msg data
这种返回值状态用的较少,data中有数据说明接口正确返回数据,不需要再msg中说明原因。
ServerResponse的构造方法
private ServerResponse(int status){
this.status=status;
}
private ServerResponse(int status,String msg){
this.status=status;
this.msg=msg;
}
private ServerResponse(int status ,T data){
this.status=status;
this.data=data;
}
private ServerResponse(int status,T data,String msg){
this.status=status;
this.data=data;
this.msg=msg;
}
获取ServerResponse实例
接口正确返回数据,调用如下方法:
public static <T> ServerResponse<T> createBySuccess(){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
}
public static <T> ServerResponse<T> createBySuccess(String msg){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg);
}
public static <T> ServerResponse<T> createBySuccess(T data){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data);
}
public static <T> ServerResponse<T> createBySuccess(String msg,T data){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data,msg);
}
接口没能返回数据,调用如下方法:
public static <T> ServerResponse<T> createByError(){
return new ServerResponse<T>(ResponseCode.ERROR.getCode());
}
public static <T> ServerResponse<T> createByError(String msg){
return new ServerResponse<T>(ResponseCode.ERROR.getCode(),msg);
}
public static <T> ServerResponse<T> createByError(int status,String msg){
return new ServerResponse<T>(status,msg);
}