暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

动静分离-服务端接口返回前端的高可用对象ServerResponse<T>

代码论道 2018-10-14
937

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);

}


文章转载自代码论道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论