javascript - 怎么設(shè)計(jì)項(xiàng)目的返回碼,讓不同的返回碼代表不同的含義?
問題描述
這是微信公眾平臺(tái)接口的返回碼。做項(xiàng)目的時(shí)候,需要API接口返回碼,想知道API接口返回碼怎么去設(shè)計(jì)???
我的意思是怎么去設(shè)計(jì) 不同的返回碼 代表不同的 含義 , 例如 40001 表示 XXX意思 , 40002 表示 XXX意思,這些應(yīng)該這么去設(shè)計(jì)呢?謝謝大家了
問題解答
回答1:應(yīng)用開發(fā)里用錯(cuò)誤名比錯(cuò)誤碼更好,代碼更好讀。
想象一下你的客戶端代碼:
if (error === ’ERROR_INVALID_ACCESS_TOKEN’) { ... }
vs
if (error === 40010) { ... }
國內(nèi)的API提供方有時(shí)是為了照顧國內(nèi)開發(fā)者對英文不熟悉(或者API開發(fā)者本身不想起英文名字),所以用了數(shù)字錯(cuò)誤碼。
數(shù)字碼在系統(tǒng)級(jí)別意義比較大,因?yàn)閭鬏斝矢撸ㄈ缍M(jìn)制協(xié)議),對于大量的JSON格式的字符串傳輸協(xié)議,這點(diǎn)效率是不重要的。
可讀性重要得多,而且錯(cuò)誤名比錯(cuò)誤碼有無結(jié)構(gòu)的優(yōu)點(diǎn),有擴(kuò)展優(yōu)勢。
回答2:給你提供我的想法,特殊的返回碼:(各個(gè)接口通用)0,代表成功-1,代表服務(wù)器內(nèi)部錯(cuò)誤普通的錯(cuò)誤返回碼:第一個(gè)數(shù)字代表返回不同接口,其余的就是錯(cuò)誤類型了,按照重要性遞減排列。
其實(shí)沒必要這么深研究,我覺得這樣就夠了。和微信的差不多。重要的是一定要簡約。
回答3:你可以學(xué)微軟的,比如 ERROR_SUCCESS 是 0 代表成功。從 1 開始就定義錯(cuò)誤代碼,直到一萬多。那么你可以把錯(cuò)誤代碼分為一些區(qū)間,比如 1~1000、1001~2000、2001~3000 等,分別代表什么類型的意義,然后每個(gè)區(qū)間可以從基礎(chǔ)的能想到的錯(cuò)誤代碼開始進(jìn)行定義,之后也可以少量擴(kuò)增。
回答4:$con = array(’code’=>4000,’data’=>’result’);echo json_encode($con);
