首页 > 其他分享 >统一响应类和响应枚举

统一响应类和响应枚举

时间:2023-08-10 22:22:54浏览次数:38  
标签:code return ResponseResult 响应 枚举 msg data public 统一

统一响应类

import com.fasterxml.jackson.annotation.JsonInclude;
import com.sangeng.enums.AppHttpCodeEnum;
import java.io.Serializable;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResponseResult<T> implements Serializable {
    private Integer code;
    private String msg;
    private T data;

    public ResponseResult() {
        this.code = AppHttpCodeEnum.SUCCESS.getCode();
        this.msg = AppHttpCodeEnum.SUCCESS.getMsg();
    }

    public ResponseResult(Integer code, T data) {
        this.code = code;
        this.data = data;
    }

    public ResponseResult(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public ResponseResult(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public static ResponseResult errorResult(int code, String msg) {
        ResponseResult result = new ResponseResult();
        return result.error(code, msg);
    }
    public static ResponseResult okResult() {
        ResponseResult result = new ResponseResult();
        return result;
    }
    public static ResponseResult okResult(int code, String msg) {
        ResponseResult result = new ResponseResult();
        return result.ok(code, null, msg);
    }

    public static ResponseResult okResult(Object data) {
        ResponseResult result = setAppHttpCodeEnum(AppHttpCodeEnum.SUCCESS, AppHttpCodeEnum.SUCCESS.getMsg());
        if(data!=null) {
            result.setData(data);
        }
        return result;
    }

    public static ResponseResult errorResult(AppHttpCodeEnum enums){
        return setAppHttpCodeEnum(enums,enums.getMsg());
    }

    public static ResponseResult errorResult(AppHttpCodeEnum enums, String msg){
        return setAppHttpCodeEnum(enums,msg);
    }

    public static ResponseResult setAppHttpCodeEnum(AppHttpCodeEnum enums){
        return okResult(enums.getCode(),enums.getMsg());
    }

    private static ResponseResult setAppHttpCodeEnum(AppHttpCodeEnum enums, String msg){
        return okResult(enums.getCode(),msg);
    }

    public ResponseResult<?> error(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
        return this;
    }

    public ResponseResult<?> ok(Integer code, T data) {
        this.code = code;
        this.data = data;
        return this;
    }

    public ResponseResult<?> ok(Integer code, T data, String msg) {
        this.code = code;
        this.data = data;
        this.msg = msg;
        return this;
    }

    public ResponseResult<?> ok(T data) {
        this.data = data;
        return this;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

}

 

统一响应返回码

public enum AppHttpCodeEnum {
    // 成功
    SUCCESS(200,"操作成功"),
    // 登录
    NEED_LOGIN(401,"需要登录后操作"),
    NO_OPERATOR_AUTH(403,"无权限操作"),
    SYSTEM_ERROR(500,"出现错误"),
    USERNAME_EXIST(501,"用户名已存在"),
     PHONENUMBER_EXIST(502,"手机号已存在"), EMAIL_EXIST(503, "邮箱已存在"),
    REQUIRE_USERNAME(504, "必需填写用户名"),
    LOGIN_ERROR(505,"用户名或密码错误");
    int code;
    String msg;

    AppHttpCodeEnum(int code, String errorMessage){
        this.code = code;
        this.msg = errorMessage;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}

 

标签:code,return,ResponseResult,响应,枚举,msg,data,public,统一
From: https://www.cnblogs.com/ixtao/p/17621744.html

相关文章

  • vue的响应式
    letperson={name:'路飞',age:18}//letp={}//Object.defineProperty(p,"name",{//get(){//有人读取name时调用//returnperson.name;//},//set(value){//有人修改name时调用//console.log("有人修改了name属性"......
  • c++枚举详细介绍以及具体用法
    C++中的枚举(Enumeration)是一种用于定义命名常量集合的数据类型。枚举可以提高代码的可读性和可维护性,让您可以使用有意义的名称来表示特定的取值,而不必使用原始的数字常量。枚举的基本语法:enumEnumName{Value1,Value2,//...};EnumName是枚举类型的名称......
  • 域内用户名枚举
    在无域内有效凭证的情况下,枚举出域内存在的用户名,在对其进行密码喷洒获得域内有效凭证利用原理:kerberos认证的as-req阶段,请求包cname对应的值是用户名。当用户状态分别为1.用户存在且启用KDC_ERR_PREAUTH_REQUIRED2.用户存在但禁用KDC_ERR_CLIENT_REVOKEDNTSTATUS:STATUS_AC......
  • 响应式原理
    ProxyAPIProxyAPI对应的Proxy对象是ES6就已引入的一个原生对象,用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)。从字面意思来理解,Proxy对象是目标对象的一个代理器,任何对目标对象的操作(实例化,添加/删除/修改属性等等),都必须通过该代理器。因此我们可以把来自......
  • Godot无法响应鼠标点击等输入事件时,检查这些内容
    注:本文以Godot4.0为基准,可能其他版本也能参考。这是我用C#写项目时发现的,可能和gdscript使用者遇到的问题有一定区别。如果你用Godot制作的游戏无法响应鼠标点击等输入事件,请检查下面这几种可能性,说不定能解决你的问题:1绑定gui_input信号的节点是否是Control?绑定p......
  • django响应html
    fromdjango.templateimportTemplate,Context,loaderdefindex(req): t=loader.get_template("index.html") c=Context({}) #returnHttpResponse(loader.get_template("index.html").render({})) returnHttpResponse(t.render(c))def......
  • 国标GB28181视频平台LntonGBS(源码版)国标平台大量通道接入后,创建角色接口不响应的问题
    国标GB28181协议视频平台LntonGBS是基于国标GB28181协议的视频云服务平台,支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级联等功能,在视频能力上,GB2818......
  • axios 请求拦截(request)与响应拦截(response)
    1.请求拦截(request)请求拦截就是在发ajax之前做些什么!例如:可以在请求拦截里面加个token请求头,做些判断等等!语法:axios.interceptors.request.use((config)=>{},(error)=>{})1.1.参数1:(config)=>{}请求正确走的函数1.2.参数2:(error)=>{}请求错误走的函数1.3.代码案......
  • vscode项目开发中如何统一代码风格
    1、在项目根目录中加入此文件https://files.cnblogs.com/files/huihuihero/.prettierrc.js2、在package.json下添加以下代码"format":"npxprettier--writesrc/"3、运行以下命令行(项目所有文件将按照.prettierrc.js里配置的规则更新代码格式)yarnrunformat或npmru......
  • HelpLook AI - 您的最佳智能助手,随时响应客户问题!
    Hi,你是否还在为以下问题而困扰:为什么客户总是会问重复的问题,而我们却要一遍遍的进行解答?为什么已经整理好内容呈现给客户,而客户却仍抓不住重点?为什么已经处于下班时间,而我却还要回答客户问题?HelpLook 为您提供一个更智能的解决方案!AI搜索服务体验和基于文档的AI客服,让 HelpLook ......