统一响应数据接口

统一响应数据接口

  • 创建统一响应数据实体;
package com.common.platform.sys.response;

import lombok.Data;

@Data
public class ResponseData {
    public static final String DEFAULT_SUCCESS_MESSAGE = "请求成功";
    public static final String DEFAULT_ERROR_MESSAGE = "网络异常";
    public static final Integer DEFAULT_SUCCESS_CODE = 200;
    public static final Integer DEFAULT_ERROR_CODE = 500;

    /**
     * 请求是否成功
     */
    private Boolean success;

    /**
     * 响应状态码
     */
    private Integer code;

    /**
     * 响应信息
     */
    private String message;

    /**
     * 响应数据
     */
    private Object data;
    public ResponseData(){

    }
    public ResponseData(Boolean success,Integer code,String message,Object data){
        this.success = success;
        this.code = code;
        this.message = message;
        this.data = data;
    }
    public static SuccessResponseData success(){

        return new SuccessResponseData();
    }
    public static SuccessResponseData success(Object object){

        return new SuccessResponseData(object);
    }
    public static  SuccessResponseData success(Integer code,String message,Object object){
        return new SuccessResponseData(code,message,object);

    }
    public ErrorResponseData error(String message){

        return new ErrorResponseData(message);
    }
    public static ErrorResponseData error(Integer code,String message){

        return  new ErrorResponseData(code,message);
    }
    public  static  ErrorResponseData error(Integer code,String message,Object object){
        return new ErrorResponseData(code,message,object);
    }

}

  • 创建成功响应实体;
package com.common.platform.sys.response;

public class SuccessResponseData extends ResponseData {
    public SuccessResponseData(){
        super(true,DEFAULT_SUCCESS_CODE,DEFAULT_ERROR_MESSAGE,null);
    }
    public SuccessResponseData(Object object){
        super(true,DEFAULT_SUCCESS_CODE,DEFAULT_ERROR_MESSAGE,object);
    }
    public SuccessResponseData(Integer code,String message,Object object){
        super(true,code,message,object);

    }
}

  • 创建失败响应实体;
package com.common.platform.sys.response;

public class ErrorResponseData extends ResponseData{
    public ErrorResponseData(String message){
        super(false,DEFAULT_ERROR_CODE,message,null);
    }
    public ErrorResponseData(Integer code,String message){
        super(false,code,message,null);
    }
    public ErrorResponseData(Integer code,String message,Object object){
        super(false,code,message,object);
    }
}

  • 创建查询响应结果包装父类;
package com.common.platform.sys.warpper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.common.platform.base.page.PageResult;

import java.util.List;
import java.util.Map;

public abstract class BaseControllerWrapper {
    private Page<Map<String,Object>> page =null;
    private PageResult<Map<String,Object>> pageResult = null;
    private Map<String ,Object> single = null;
    private List<Map<String ,Object>> multi = null;
    public BaseControllerWrapper(Map<String,Object> single){
        this.single = single;
    }
    public BaseControllerWrapper(List<Map<String ,Object>> multi){
        this.multi = multi;
    }
    public BaseControllerWrapper(Page<Map<String,Object>> page){
        if (page!=null && page.getRecords()!=null){
            this.page=page;
            this.multi=page.getRecords();
        }
    }
    public  BaseControllerWrapper(PageResult<Map<String ,Object>> pageResult){
        if(pageResult!=null && pageResult.getRows()!=null) {
            this.pageResult = pageResult;
            this.multi = pageResult.getRows();
        }
    }
    public <T> T wrap(){
        if(single!=null){
            wrapTheMap(single);
        }
        if (multi!=null){
            for (Map<String ,Object> map:multi){
                wrapTheMap(map);
            }
        }
        if (page!=null){
            return (T) page;
        }
        if (pageResult!=null){
            return (T) pageResult;
        }
        if(single!=null){
            return (T) single;
        }
        if (multi!=null){
            return (T) multi;
        }
        return null;
    }
    protected abstract  void wrapTheMap(Map<String,Object> map);
}

  • 创建Controller父类;
package com.common.platform.sys;

import com.common.platform.base.config.context.HttpContext;
import com.common.platform.sys.response.SuccessResponseData;
import com.common.platform.sys.warpper.BaseControllerWrapper;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Objects;


public class BaseController {
    protected final String REDIRECT = "redirect:";
    protected final String FORWARD = "forward:";

    protected static SuccessResponseData SUCCESS_TIP = new SuccessResponseData();
    protected HttpServletRequest getHttpServletRequest() {
        return HttpContext.getRequest();
    }
    protected HttpServletResponse getHttpServletResponse() {
        return HttpContext.getResponse();
    }
    protected HttpSession getSession() {
        return Objects.requireNonNull(HttpContext.getRequest()).getSession();
    }
    protected HttpSession getSession(Boolean flag) {
        return Objects.requireNonNull(HttpContext.getRequest()).getSession(flag);
    }
    protected String getPara(String name) {
        return Objects.requireNonNull(HttpContext.getRequest()).getParameter(name);
    }
    protected void setAttr(String name, Object value) {
        Objects.requireNonNull(HttpContext.getRequest()).setAttribute(name, value);
    }
    protected Object warpObject(BaseControllerWrapper wrapper) {
        return wrapper.wrap();
    }
    protected void deleteCookieByName(String cookieName) {
        Cookie[] cookies = this.getHttpServletRequest().getCookies();
        for (Cookie cookie : cookies) {
            if (cookie.getName().equals(cookieName)) {
                Cookie temp = new Cookie(cookie.getName(), "");
                temp.setMaxAge(0);
                this.getHttpServletResponse().addCookie(temp);
            }
        }
    }
    protected void deleteAllCookie() {
        Cookie[] cookies = this.getHttpServletRequest().getCookies();
        for (Cookie cookie : cookies) {
            Cookie temp = new Cookie(cookie.getName(), "");
            temp.setMaxAge(0);
            this.getHttpServletResponse().addCookie(temp);
        }
    }

}




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值