java返回結果封裝及控制層抽象類
阿新 • • 發佈:2018-12-17
統一返回的結果集
package com.zyd.common.vo; import com.zyd.common.constant.ZydResultConstants; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /*** * 統一返回的結果集 * * @author * * @param <T> */ @Data @ApiModel("統一返回的結果集") public class ResultInfo<T> { /** 返回編碼 */ @ApiModelProperty(value = "返回描述") private ResultMsg e; /** 返回結果 */ @ApiModelProperty(value = "返回的結果") private T rdatas; @Data @ApiModel("介面返回描述") @AllArgsConstructor @NoArgsConstructor class ResultMsg{ @ApiModelProperty("返回編碼") int errid; @ApiModelProperty("返回描述") String msg; } public ResultInfo() { } /*** * 判斷返回結果是否正確 * @return */ public boolean isSucc() { return e==null?false:ZydResultConstants.SUCCESS_CODE == e.getErrid(); } ResultInfo(int errid, String msg, T rdatas) { this.e = this.new ResultMsg(errid, msg); this.rdatas = rdatas; } /*** * 返回成功 * * @param rdatas * 返回結果 * @return */ public static <T> ResultInfo<T> success(T rdatas) { return success(rdatas, ""); } /*** * 返回成功 * * @param rdatas * 返回結果 * @param msg * 返回描述 * @return */ public static <T> ResultInfo<T> success(T rdatas, String msg) { return new ResultInfo<>(ZydResultConstants.SUCCESS_CODE, msg, rdatas); } /*** * 返回錯誤 * * @param msg * 返回描述 * @return */ public static <T> ResultInfo<T> fail(String msg) { return fail(msg, ZydResultConstants.FAIL_CODE); } /*** * 返回錯誤 * * @param msg * 返回描述 * @param res * 返回編碼 * @return */ public static <T> ResultInfo<T> fail(String msg, int res) { return fail(msg, res, null); } /*** * 返回錯誤 * * @param msg * 返回描述 * @param res * 返回編碼 * @param rdatas * 返回結果 * @return */ public static <T> ResultInfo<T> fail(String msg, int res, T rdatas) { return new ResultInfo<>(res, msg, rdatas); } }
控制層抽象類
package com.zyd.common.base; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.zyd.common.vo.ResultInfo; import lombok.extern.slf4j.Slf4j; /*** * 控制層抽象類 * @author * */ @Slf4j public abstract class ABaseController { /*** * 獲得請求物件 * @return */ public HttpServletRequest getRequest() { return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); } /*** * 獲得response物件 * * @return */ public HttpServletResponse getResponse() { return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); } public <T> ResultInfo<T> ok(T t) { return ResultInfo.success(t); } public <T> ResultInfo<T> ok(T o, String msg) { return ResultInfo.success(o, msg); } /*** * 返回錯誤 * * @param msg * 返回描述 * @return */ public static <T> ResultInfo<T> fail(String msg) { return ResultInfo.fail(msg); } /*** * 返回錯誤 * @param msg 返回描述 * @param res 返回編碼 * @return */ public static <T> ResultInfo<T> fail(String msg, int res) { return ResultInfo.fail(msg, res); } /*** * 返回錯誤 * @param msg 返回描述 * @param res 返回編碼 * @param t 返回結果 * @return */ public static <T> ResultInfo<T> fail(String msg, int res, T t) { return ResultInfo.fail(msg, res, t); } public int getUserId() { String userid = getRequest().getParameter("userid"); if(userid==null) { return 0; } try { return Integer.parseInt(userid); } catch (NumberFormatException e) { log.info("非int型別使用者Id:",userid); return 0; } } }