美文网首页
如何定义通用Response类

如何定义通用Response类

作者: 一缕清风一世情_百度 | 来源:发表于2020-06-30 11:56 被阅读0次

BaseResponse.class

package com.chenglulu.controller.users.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.omg.CORBA.Any;

@Data
public class BaseResponse<T> {
    public BaseResponse() {
        super();
    }

    private String requestId;

    private String message;

    private Integer code;

    private T data;

    public BaseResponse(String requestId, Integer code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
        this.requestId = requestId;
    }

}

ResponseUtil.class

package com.chenglulu.utils;

import com.chenglulu.enums.ResponseEnum;
import com.chenglulu.controller.users.domain.BaseResponse;

public class ResponseUtil {
    /**成功且带数据**/
    public static BaseResponse success(String requestId, Object object){
        BaseResponse res = new BaseResponse();
        res.setRequestId(requestId);
        res.setCode(ResponseEnum.SUCCESS.getCode());
        res.setMessage(ResponseEnum.SUCCESS.getMessage());
        res.setData(object);
        return res;
    }
    /**成功但不带数据**/
    public static BaseResponse success(String requestId){
        BaseResponse result = new BaseResponse();
        res.setRequestId(requestId);
        return success(null);
    }
    /**失败**/
    public static BaseResponse error(String requestId, Integer code,String msg){
        BaseResponse result = new BaseResponse();
        res.setRequestId(requestId);
        result.setCode(code);
        result.setMessage(msg);
        return result;
    }
}

ResponseCodeEnum枚举类

package com.chenglulu.enums;

public enum ResponseCodeEnum {
    //这里是可以自己定义的,方便与前端交互即可
    UNKNOWN_ERROR(-1,"未知错误"),
    SUCCESS(10000,"成功"),
    USER_NOT_EXIST(1,"用户不存在"),
    USER_IS_EXISTS(2,"用户已存在"),
    DATA_IS_NULL(3,"数据为空"),
    ;

    private Integer code;
    private String message;

    ResponseCodeEnum(Integer code, String message){
        this.code = code;
        this.message = message;
    }

    public Integer getCode(){
        return code;
    }

    public String getMessage(){
        return message;
    }
}

使用示例

import com.chenglulu.utils.ResponseUtil;

@RestController
@RequestMapping( value = "/users")
public class UsersController {

    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public BaseResponse queryUsers(HttpServletRequest request){
        String requestId = request.getHeader("X-REQUEST-ID");
        List<Users> usersList = [];
        return ResponseUtil.success(requestId, usersList);
    }
}

相关文章

  • 如何定义通用Response类

    BaseResponse.class ResponseUtil.class ResponseCodeEnum枚举类...

  • android okhttp 责任链简单分析

    运行结果: 定义拦截器 Interceptor 定义具体拦截器实现类 定义的Response ,RequestX,...

  • 观察者模式

    什么是观察者模式定义 通用类图 伪码

  • Response类

    原地址:http://naotu.baidu.com/file/a4fc96dfc2120a931efd20b8d...

  • 泛型

    百度后直接贴图看: 自定义比较器: 没有泛型时定义通用类: 使用泛型类定义: 定义在接口上的泛型:

  • OKHttp

    定义:Okhttp是对Socket的封装。有三个主要的类,Request,Response,Call默认使用new...

  • poi导出excel

    一.怎么定义通用工具? 具体做法如下 定义注解类 导出工具类 二.怎么样实现? 注解类 工具类 注:代码使用了lo...

  • swift4学习之类(class)

    类和结构体相似,类也是构建代码所用的一种通用且灵活的构造体,并且可以为类定义属性和方法。类的定义使用cla...

  • Django之API 管理利器 rest framework

    Django常用的接口封装类有render_to_response、JsonResponse、Response等,...

  • OC学习笔记(一)-GeekBand

    在Objective-C中,如何定义类和方法,以及如何使用。 1).类的定义 定义了一个Circle类的接口...

网友评论

      本文标题:如何定义通用Response类

      本文链接:https://www.haomeiwen.com/subject/tgotqktx.html