新聞中心
引言
基本上當下的應用都會分為前端與后端,當然這種前端定義不在限于桌面瀏覽器、手機、APP等設備。一個良好的后端會通過一套所有前端都通用的 RESTful API 序列接口作為前后端之間的通信。
這其中對于身份認證都不可能再依賴傳統(tǒng)的Session或Cookie;轉(zhuǎn)而使用諸如OAuth3、JWT等這種更適合API接口的認證方式。當然本文并不討論如何去構(gòu)建它們。
一、API 設計
首先雖然并不會討論身份認證的技術,但不管是OAuth3還是JWT本質(zhì)上身份認證都全靠一個 Token 來維持;因此,下面統(tǒng)一以 token 來表示身份認證所需要的值。
一套合理的API規(guī)則,會讓前端編碼更優(yōu)雅。因此,希望在編寫Angular之前,能與后端相互達成一種“協(xié)議”也很有必要??梢試L試從以下幾點進行考慮。
版本號
可以在URL(例:https://demo.com/v1/)或Header(例:headers: { version: 'v1' }
)中體現(xiàn),相比較我更喜歡前者的直接。
業(yè)務節(jié)點
以一個節(jié)點來表示某個業(yè)務,比如:
- 商品 https://demo.com/v1/product/
- 商品SKU https://demo.com/v1/product/sku/
動作
由HTTP動詞來表示:
- GET 請求一個商品 /product/${ID}
- POST 新建一個商品 /product
- PUT 修改一個商品 /product/${ID}
- DELETE 刪除一個商品 /product/${ID}
統(tǒng)一響應
這一點非常重要,特別是當我們新建一個商品時,商品的屬性非常多,但如果我們?nèi)鄙倌硞€屬性時。可以使用這樣的一種統(tǒng)一的響應格式:
{ "code": 100, // 0 表示成功 "errors": { // 錯誤明細 "title": "商品名稱必填" } }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)頁標題:詳解如何在Angular優(yōu)雅編寫HTTP請求-創(chuàng)新互聯(lián)
本文來源:http://fisionsoft.com.cn/article/cdocoo.html