## 前言
在如今前后端開發的趨勢下,我們經常需要在項目中,擁有一個標準的接口數據返回格式,而AjaxResult 類即是為了提供一種統一格式的接口數據返回。
## 使用
我們只需要在方法的返回值上,設置為**AjaxResult**類即可
```
@RequestMapping("/hello")
public AjaxResult hello(HttpServletResponse httpServletResponse) throws IOException {
AjaxResult ajaxResult = new AjaxResult();
ajaxResult.put("code", 200);
ajaxResult.put("message", "消息");
ajaxResult.put("data", "hello word,hello springsecurity");
return ajaxResult;
}
```
以上為創建對象的用戶,**AjaxResult**類也提供了,多個靜態方法供我們使用
```
@RequestMapping("/hello")
public AjaxResult hello(HttpServletResponse httpServletResponse) throws IOException {
return AjaxResult.success(200, "message", "data");
}
```
### 提供的靜態方法
```
AjaxResult.success(int code, String message, Object data)
AjaxResult.success( Object data)
AjaxResult.success(String message, Object data)
AjaxResult.success(int code, Object data)
AjaxResult.success() //默認返回200狀態碼
```
```
AjaxResult.error(int code, String message, Object data)
AjaxResult.error(Object data)
AjaxResult.error(String message, Object data)
AjaxResult.error(int code, Object data)
AjaxResult.error() //默認返回500狀態碼
```
## 源代碼
```
public class AjaxResult extends HashMap<String, Object>{
private static final long serialVersionUID = 1L;
public AjaxResult() { }
public AjaxResult(int code, String message, Object data) {
super.put(AjaxResult.CODE, code);
super.put(AjaxResult.MESSAGE, message);
super.put(AjaxResult.DATA, data);
}
public final static String CODE = "code";
public final static String MESSAGE = "message";
public final static String DATA = "data";
public final static int SUCCESS = 200;
public final static int ERROR = 500;
public static AjaxResult success() {
return AjaxResult.success(AjaxResult.SUCCESS,null, null);
}
public static AjaxResult success(int code, String message, Object data) {
return new AjaxResult(code,message, data);
}
public static AjaxResult success(Object data) {
return AjaxResult.success(AjaxResult.SUCCESS,"success", data);
}
public static AjaxResult success(String message, Object data) {
return AjaxResult.success(AjaxResult.SUCCESS, message, data);
}
public static AjaxResult success(int code, Object data) {
return AjaxResult.success(code, null, data);
}
public static AjaxResult error(int code, String message, Object data) {
return new AjaxResult(code, message, data);
}
public static AjaxResult error(String message, Object data) {
return AjaxResult.error(AjaxResult.ERROR, message, data);
}
public static AjaxResult error(Object data) {
return AjaxResult.error(AjaxResult.ERROR, null, data);
}
public static AjaxResult error(int code, Object data) {
return AjaxResult.error(code, null, data);
}
public static AjaxResult error() {
return AjaxResult.error(AjaxResult.ERROR, null, null);
}
}
```