規(guī)定接口標(biāo)準(zhǔn)
前后端交互,在企業(yè)級開發(fā)中移剪,需要按照約定薪者,制定統(tǒng)一的接口響應(yīng)標(biāo)準(zhǔn)。這樣在開發(fā)中才可以更好地的合作言津。接口標(biāo)準(zhǔn)是推薦的硬纤,也是必須的。
通用標(biāo)準(zhǔn)
- code 使用字符串類型,規(guī)定常用的響應(yīng)規(guī)范:code = "200"烟逊,表示成功。否則表示響應(yīng)失敗宪躯。code= "500",表示系統(tǒng)錯誤详瑞。
- message 使用字符串類型臣缀,規(guī)范響應(yīng)的業(yè)務(wù)消息。例如常見的異常說明和校驗(yàn)說明等業(yè)務(wù)信息计寇。
- data 前后端接口數(shù)據(jù)交互,統(tǒng)一使用json番宁。data用于后端響應(yīng)的數(shù)據(jù)體蝶押。
為什么使用JSON
JSON 是存儲和交換文本信息的一種語法火欧,它與XML具有相同的特性,是一種數(shù)據(jù)存儲格式离陶,卻比 XML 更小、更快招刨、 更易于人編寫和閱讀哀军、更易于生成和解析。
統(tǒng)一響應(yīng)實(shí)體類
public class CommonResult<T> {
private String code;
private String message;
private T data;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public CommonResult(String code, String message) {
this.code = code;
this.message = message;
}
public CommonResult(String code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static CommonResult success() {
return new CommonResult(SUCCESS_CODE, SUCCESS_MESSAGE);
}
public static <T> CommonResult<T> success(T data) {
return new CommonResult(SUCCESS_CODE, SUCCESS_MESSAGE, data);
}
public static CommonResult failed() {
return new CommonResult(FAILED_CODE, FAILED_MESSAGE);
}
public <T> CommonResult<T> data(T data) {
return new CommonResult(SUCCESS_CODE, SUCCESS_MESSAGE, data);
}
}
- 成功響應(yīng),使用success方法
- 失敗響應(yīng)猿推,使用failed方法
- data設(shè)計為泛型捌肴,接收數(shù)據(jù)對象
示例
- controller接口:
@GetMapping("/hello/result")
@ApiOperation("get請求參數(shù)測試")
public CommonResult<String> helloResult(@RequestParam("name") String name) {
String hello = "Hello," + name;
return CommonResult.success(hello);
}
- 傳入?yún)?shù)programmer状知,響應(yīng):
{
"code": "200",
"message": "success",
"data": "Hello,programmer"
}
源代碼
- github地址
- 后續(xù)會對springboot相關(guān)知識進(jìn)行持續(xù)更新和分享孽查。