最近做了乙個springboot專案,對返回的資料做了進一步的封裝,做一些必要的筆記,一來是對自己學習的知識的鞏固,二來對有同樣問題的人有參考作用。
一 封裝結果類
一般成功時,需要返回的是資料(data,比如list),此時的狀態碼和返回資訊比較固定,而請求異常(比如輸入的密碼錯誤)時不返回資料,而返回的是特定的狀態碼和錯誤提示。
package com.ergouy.miaosha.result;
public
class
result
private
result
(codemsg cm)
this
.code = cm.
getcode()
;this
.msg = cm.
getmsg()
;}/** * 成功時候的呼叫
* @param data
* @param * @return
*/public
static
result
success
(t data)
/** * 異常時候的呼叫
* @param cm
* @param * @return
*/public
static
result
error
(codemsg cm)
public
intgetcode()
public string getmsg()
public t getdata()
}
二 錯誤資訊進一步封裝
對錯誤資訊進行封裝,有利於對系統的維護。
package com.ergouy.miaosha.result;
public
class
codemsg
//通用異常
public
static codemsg success =
newcodemsg(0
,"success");
public
static codemsg server_error =
newcodemsg
(500100
,"服務端異常");
public
static codemsg bind_error =
newcodemsg
(500101
,"引數校驗異常: %s");
public
static codemsg request_illegal =
newcodemsg
(500102
,"請求非法");
//帶動態引數的異常
public codemsg fillargs
(object.
.. args)
public
intgetcode()
public string getmsg()
}
三 靜態返回結果測試
後台**
/**
* 輪詢秒殺結果
* orderid:成功
* -1:失敗
* 0:排隊中
* @param model
* @param user
* @param goodsid
* @return
*/(value =
"/result"
,method = requestmethod.get)
@responsebody
public result
miaosharesult
(model model, miaoshauser user,
@requestparam
("goodsid"
)long goodsid)
long result = miaoshaservice.
getmiaosharesult
(user.
getid()
,goodsid)
;return result.
success
(result)
;}
前端**
function
getmiaosharesult
(goodsid)
, success:
function
(data)
else
if(result ==0)
,400);
}else
,function()
,function()
);}}
else},
error:
function()
});}
四 動態返回結果測試if
(e instanceof
bindexception
)
五 總結 axios 應用進一步封裝
axios 應用中進一步封裝 能傳送非同步ajax請求的函式模組 封裝axios庫 函式的返回值是promise物件 1.優化1 統一處理請求異常?在外層包乙個自己建立的promise物件 在請求出錯時,不reject error 而是顯示錯誤提示 2.優化2 非同步得到不是reponse,而是re...
bufferedReader進一步理解
public static void main string args string mystring system.out.println 請輸入明文 bufferedreader buf new bufferedreader new inputstreamreader system.in try...
Looper Handler進一步學習
package com.test.looper import android.os.bundle import android.os.handler import android.os.handlerthread import android.os.looper import android.os....