> 文章列表 > JavaHTTP响应结果类HTTPResult

JavaHTTP响应结果类HTTPResult

JavaHTTP响应结果类HTTPResult

HTTP 响应结果类 HTTPResult,用于表示 HTTP 请求后的响应结果。它具有属性响应码 code、消息 message 和数据 data

  • 响应结果
    • success():成功响应,返回状态码为 200,并且提示语为“成功”
    • badRequest()错误请求响应,返回状态码为 400,并且提示语为“错误请求”
    • unauthorized():未授权响应,返回状态码为 401,并且提示语为“未授权”
    • forbidden():禁止访问响应,返回状态码为 403,并且提示语为“禁止访问”
    • notFound():未找到响应,返回状态码为 404,并且提示语为“未找到”
    • internalServerError():内部服务器错误响应,返回状态码为 500,并且中文提示语为“内部服务器错误”
    • serviceUnavailable():服务不可用响应,返回状态码为 503,并且中文提示语为“服务不可用”
  • 获取提示语
    • getMessageEn():根据状态码返回对应的英文提示语
    • getMessageZh():根据状态码返回对应的中文提示语
  • 转化 JSON 格式
    • toJSONObject():将当前 HTTP 响应结果对象转换成 JSON 对象并返回
    • toJSONString():将当前 HTTP 响应结果对象转换成 JSON 字符串并返回

其中转化 JSON 格式涉及的函数基于阿里巴巴的 Fastjson 包,需先在 Maven 的 pom.xml 加上依赖

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>
</dependency>

后在 Java 中引入包

import com.alibaba.fastjson.*

以下是 HTTP 响应结果类 HTTPResult 代码

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;import java.util.HashMap;
import java.util.Map;public class HTTPResult {// 响应码private Integer code;// 消息private String message;// 数据private Object data;// HTTP 状态码对应的英文提示语public static Map<Integer, String> statusCodesEn = new HashMap<Integer, String>() {{put(100, "Continue");put(101, "Switching Protocols");put(200, "OK");put(201, "Created");put(202, "Accepted");put(204, "No Content");put(301, "Moved Permanently");put(302, "Found");put(304, "Not Modified");put(400, "Bad Request");put(401, "Unauthorized");put(403, "Forbidden");put(404, "Not Found");put(500, "Internal Server Error");put(501, "Not Implemented");put(503, "Service Unavailable");}};// HTTP 状态码对应的中文提示语public static Map<Integer, String> statusCodesZh = new HashMap<Integer, String>() {{put(100, "继续");put(101, "切换协议");put(200, "成功");put(201, "已创建");put(202, "已接受");put(204, "无内容");put(301, "永久移动");put(302, "临时移动");put(304, "未修改");put(400, "错误请求");put(401, "未授权");put(403, "禁止访问");put(404, "未找到");put(500, "内部服务器错误");put(501, "未实现");put(503, "服务不可用");}};// 构造函数public HTTPResult(Integer code, String message, Object data) {this.code = code;this.message = message;this.data = data;}// Getter 和 Setter 函数public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}// 成功public static HTTPResult success(Object data) {Integer code = 200;return new HTTPResult(code, statusCodesZh.get(code), data);}public static HTTPResult success(String message, Object data) {Integer code = 200;return new HTTPResult(code, message, data);}// 错误请求public static HTTPResult badRequest() {Integer code = 400;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult badRequest(String message) {Integer code = 400;return new HTTPResult(code, message, null);}// 未授权public static HTTPResult unauthorized() {Integer code = 401;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult unauthorized(String message) {Integer code = 401;return new HTTPResult(code, message, null);}// 禁止访问public static HTTPResult forbidden() {Integer code = 403;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult forbidden(String message) {Integer code = 403;return new HTTPResult(code, message, null);}// 未找到public static HTTPResult notFound() {Integer code = 404;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult notFound(String message) {Integer code = 404;return new HTTPResult(code, message, null);}// 内部服务器错误public static HTTPResult internalServerError() {Integer code = 500;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult internalServerError(String message) {Integer code = 500;return new HTTPResult(code, message, null);}// 服务不可用public static HTTPResult serviceUnavailable() {Integer code = 503;return new HTTPResult(code, statusCodesZh.get(code), null);}public static HTTPResult serviceUnavailable(String message) {Integer code = 503;return new HTTPResult(code, message, null);}// 获取状态码对应的英文提示语public static String getMessageEn(Integer code) {return statusCodesEn.get(code);}// 获取状态码对应的中文提示语public static String getMessageZh(Integer code) {return statusCodesZh.get(code);}// 将返回结果对象转化为 JSON 对象public JSONObject toJSONObject() {return (JSONObject) JSON.toJSON(this);}// 将返回结果对象转化为 JSON 字符串public String toJSONString() {return JSON.toJSONString(this);}
}