自定義響應資料結構
package com.leon.utils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
*
* @Title: JSONResult.java
* @Package com.leon.utils
* @Description: 自定義響應資料結構
* 本類可提供給 H5/ios/安卓/公眾號/小程式 使用
* 前端接受此類資料(json object)後,可自行根據業務去實現相關功能
*
* 200:表示成功
* 500:表示錯誤,錯誤資訊在msg欄位中
* 501:bean驗證錯誤,不管多少個錯誤都以map形式返回
* 502:攔截器攔截到使用者token出錯
* 555:異常丟擲資訊
* 556: 使用者qq校驗異常
* @Copyright: Copyright (c) 2020
* @Company: www.leon.com
* @version V1.0
*/
public class JSONResult {
// 定義jackson物件
private static final ObjectMapper MAPPER = new ObjectMapper();
// 響應業務狀態
private Integer status;
// 響應訊息
private String msg;
// 響應中的資料
private Object data;
@JsonIgnore
private String ok; // 不使用
public static JSONResult build(Integer status, String msg, Object data) {
return new JSONResult(status, msg, data);
}
public static JSONResult build(Integer status, String msg, Object data, String ok) {
return new JSONResult(status, msg, data, ok);
}
public static JSONResult ok(Object data) {
return new JSONResult(data);
}
public static JSONResult ok() {
return new JSONResult(null);
}
public static JSONResult errorMsg(String msg) {
return new JSONResult(500, msg, null);
}
public static JSONResult errorMap(Object data) {
return new JSONResult(501, "error", data);
}
public static JSONResult errorTokenMsg(String msg) {
return new JSONResult(502, msg, null);
}
public static JSONResult errorException(String msg) {
return new JSONResult(555, msg, null);
}
public static JSONResult errorUserQQ(String msg) {
return new JSONResult(556, msg, null);
}
public JSONResult() {
}
public JSONResult(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public JSONResult(Integer status, String msg, Object data, String ok) {
this.status = status;
this.msg = msg;
this.data = data;
this.ok = ok;
}
public JSONResult(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}
public Boolean isOK() {
return this.status == 200;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getOk() {
return ok;
}
public void setOk(String ok) {
this.ok = ok;
}
}
相關文章
- 由自定義事件到vue資料響應事件Vue
- BeetleX之webapi自定義響應內容WebAPI
- .NET Core授權失敗如何自定義響應資訊?
- Salt Highstate資料結構定義資料結構
- Flutter自定義View以及響應式UI框架原理FlutterViewUI框架
- 日計不足涓滴成河-自定義響應結果格式化器
- 如何構建自定義人臉識別資料集
- 自定義資料型別資料型別
- PyTorch 自定義資料集PyTorch
- sqlite中存放自定義表結構的位置SQLite
- ASP.NET Core Identity自定義資料庫結構和完全使用Dapper而非EntityFramework CoreASP.NETIDE資料庫APPFramework
- DM自定義資料型別資料型別
- python 自定義資料分頁Python
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- Vue響應式—-資料響應式原理Vue
- 繫結自定義事件事件
- 自定義react資料驗證元件React元件
- 自定義元件-資料、方法、屬性元件
- 自定義元件-資料監聽器元件
- 自定義元件-純資料欄位元件
- 聊聊如何自定義資料脫敏
- 結構化資料、半結構化資料和非結構化資料
- laravel-api-response - 規範化和標準化 Laravel API 響應資料結構LaravelAPI資料結構
- 【資料結構篇】認識資料結構資料結構
- 資料結構實驗:連結串列的應用資料結構
- 小白折騰伺服器(七):自定義介面錯誤響應格式伺服器
- ArkWeb頁面攔截與自定義響應 - 控制載入過程Web
- Response響應字元資料字元
- SpringBoot資料響應、分層解耦、三層架構Spring Boot解耦架構
- FreeMarker對應各種資料結構解析資料結構
- 資料結構筆記-棧的應用資料結構筆記
- 資料結構小白系列之資料結構概述資料結構
- 如何定義一個自帶資料區的結構體:三種資料結構體的比較結構體資料結構
- Flutter Widget自定義總結Flutter
- 按自定義週期統計資料
- Vector中存放自定義資料型別資料型別
- iOS自定義控制元件:自定義TableView、CollectionView空資料佔點陣圖iOS控制元件View
- 前端資料結構(3)之連結串列及其應用前端資料結構