返回结果类:
package com.zsc.cartoon.cartoonweb.util;
import com.zsc.cartoon.cartoonweb.entity.Result;
import org.springframework.http.HttpStatus;
/**
* @Description: <p>
* 返回结果类,包括返回 状态码,信息,数据集
* </p>
* @param:
* @return:
* @Author: Mzt
* @date: 2019/7/11
*/
public class ResultGenerator {
private static final String DEFAULT_OK_MESSAGE = "OK";
private static final String DEFAULT_UNAUTHORIZED_MESSAGE = "Need authorized";
private static final String DEFAULT_METHOD_NOT_ALLOWED_MESSAGE = " Request method incorrect";
//成功,没有返回数据
public static Result toResultOk() {
return new Result.Builder(HttpStatus.OK.value())//状态码 200:ok
.msg(DEFAULT_OK_MESSAGE)
.build();
}
//成功,有数据返回
public static Result toResultOkandData(final Object data) {
return new Result
.Builder(HttpStatus.OK.value())//状态码 200:ok
.msg(DEFAULT_OK_MESSAGE)
.data(data)
.build();
}
/**
* @param data
* @param msg
* @return
* @description:
* @author mzt
*/
public static Result toResultOKandDataandMsg(final Object data, final String msg) {
return new Result
.Builder(HttpStatus.OK.value())
.msg(msg)
.data(data)
.build();
}
//错误,返回任意提示信息
public static Result toResultFail(final String msg) {
return new Result
.Builder(HttpStatus.BAD_REQUEST.value())//http 状态码400错误
.msg(msg)
.build();
}
//请求不到类型,不允许访问
public static Result toResultFailandunallow() {
return new Result
.Builder(HttpStatus.METHOD_NOT_ALLOWED.value())//状态码 405:方法不允许
.msg(DEFAULT_METHOD_NOT_ALLOWED_MESSAGE)
.build();
}
//失败,获取不到权限
public static Result toResultFailandUnauthoried() {
return new Result
.Builder(HttpStatus.UNAUTHORIZED.value())//状态码 401:未经授权
.msg(DEFAULT_UNAUTHORIZED_MESSAGE)
.build();
}
//失败,获取不到权限,返回任意提示信息
public static Result toReuiltFailandunAuthoried(final String msg) {
return new Result
.Builder(HttpStatus.UNAUTHORIZED.value())//状态码 401:未经授权
.msg(msg)
.build();
}
//内部错误
public static Result toResultFailandApiError(final String url) {
return new Result
.Builder(HttpStatus.INTERNAL_SERVER_ERROR.value())//状态码 500:内部错误
.msg("api[" + url + "]internal server error.Please call engineer to debug")
.build();
}
}
返回结果实现类:
package com.zsc.cartoon.cartoonweb.entity;
import com.alibaba.fastjson.JSON;
public class Result {
private final Integer code;//状态码
private final String msg;//信息
private final Object data;//数据内容,实体或者列表
private Result(final Builder builder) {
this.code = builder.code;
this.msg = builder.msg;
this.data = builder.data;
}
public Integer getCode() {
return this.code;
}
public String getMsg() {
return this.msg;
}
public Object getData() {
return this.data;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
public static class Builder {
private final Integer code;
private String msg;
private Object data;
public Builder(final Integer code) {
this.code = code;
}
public Builder msg(final String msg) {
this.msg = msg;
return this;
}
public Builder data(final Object data) {
this.data = data;
return this;
}
public Result build() {
return new Result(this);
}
}
}