性久久久久久,性色av浪潮av色欲av,国产日韩精品在线观看,亚洲色成人网一二三区

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

RESTful API URL 設(shè)計(jì)

發(fā)表日期:2019-09 文章編輯:小燈 瀏覽次數(shù):3894

RESTful?是目前最流行的 API 設(shè)計(jì)規(guī)范,也是各公司招聘面試的項(xiàng)目之一。很多人對 RESTful API 的設(shè)計(jì)還不是很規(guī)范,于是便有了本文。

URL 的設(shè)計(jì),一般我們會(huì)采用:動(dòng)詞 + 賓語的形式表示。

RESTful 的核心思想就是,客戶端發(fā)出的數(shù)據(jù)操作指令都是"動(dòng)詞 + 賓語"的結(jié)構(gòu)。比如,GET /articles這個(gè)命令,GET是動(dòng)詞,/articles是賓語。

動(dòng)詞通常就是五種 HTTP 方法,對應(yīng) CRUD 操作。

  • GET:讀取(Read)
  • POST:新建(Create)
  • PUT:更新(Update)
  • PATCH:更新(Update),通常是部分更新
  • DELETE:刪除(Delete)

根據(jù) HTTP 規(guī)范,動(dòng)詞一律大寫。

有些客戶端只能使用GET和POST這兩種方法。服務(wù)器必須接受POST模擬其他三個(gè)方法(PUT、PATCH、DELETE)。

這時(shí),客戶端發(fā)出的 HTTP 請求,要加上X-HTTP-Method-Override屬性,告訴服務(wù)器應(yīng)該使用哪一個(gè)動(dòng)詞,覆蓋POST方法。

POST /api/Person/4 HTTP/1.1X-HTTP-Method-Override: PUT

上面代碼中,X-HTTP-Method-Override指定本次請求的方法是PUT,而不是POST。

在 SpringMVC 中會(huì)添加一個(gè)?HiddenHttpMethodFilter 過濾器。它會(huì)將表單上隱藏域_method屬性改為put或者delete等再進(jìn)行提交。因?yàn)橹挥衒orm表單才具有post方法,而這個(gè)過濾器也只能將post方法轉(zhuǎn)化,get則不行。不懂的可以看這篇文章:https://blog.csdn.net/jaryle/article/details/73656426。

賓語就是 API 的 URL,是 HTTP 動(dòng)詞作用的對象。它應(yīng)該是名詞,不能是動(dòng)詞。比如,/articles這個(gè) URL 就是正確的,而下面的 URL 不是名詞,所以都是錯(cuò)誤的。

  • /getAllCars
  • /createNewCar
  • /deleteAllRedCars

既然 URL 是名詞,那么應(yīng)該使用復(fù)數(shù),還是單數(shù)?

這沒有統(tǒng)一的規(guī)定,但是常見的操作是讀取一個(gè)集合,比如GET /articles(讀取所有文章),這里明顯應(yīng)該是復(fù)數(shù)。

為了統(tǒng)一起見,建議都使用復(fù)數(shù) URL,比如GET /articles/2要好于GET /article/2。

常見的情況是,資源需要多級分類,因此很容易寫出多級的 URL,比如獲取某個(gè)作者的某一類文章。

GET /authors/12/categories/2

這種 URL 不利于擴(kuò)展,語義也不明確,往往要想一會(huì),才能明白含義。

更好的做法是,除了第一級,其他級別都用查詢字符串表達(dá)。

GET /authors/12?categories=2

下面是另一個(gè)例子,查詢已發(fā)布的文章。你可能會(huì)設(shè)計(jì)成下面的 URL。

GET /articles/published

查詢字符串的寫法明顯更好。

GET /articles?published=true

RESTful API 最好的例子就是 github 網(wǎng)站。大家經(jīng)常使用,一定不陌生。所以可以借鑒 github 上的資源命名方式來開發(fā)自己的產(chǎn)品,設(shè)計(jì)自己的?RESTful API 和 URL。


本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://caipiao93.cn/21361.html
相關(guān)前端設(shè)計(jì)
 八年  行業(yè)經(jīng)驗(yàn)

多一份參考,總有益處

聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費(fèi)獲得網(wǎng)站建設(shè)方案及報(bào)價(jià)

咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系

業(yè)務(wù)熱線:余經(jīng)理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.