亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RESTAPI最佳實踐:在哪里放置參數?

RESTAPI最佳實踐:在哪里放置參數?

API
波斯汪 2019-07-04 18:05:04
RESTAPI最佳實踐:在哪里放置參數?RESTAPI至少可以有兩種方式的參數:作為URL路徑的一部分(即:/api/resource/parametervalue )作為查詢參數(即:/api/resource?parameter=value )這里的最佳做法是什么?在什么時候使用1和什么時候使用2有任何一般的指導方針嗎?真實的例子:Twitter使用查詢參數來指定間隔。(http://api.twitter.com/1/statuses/home_timeline.json?since_id=12345&max_id=54321)在URL路徑中放置這些參數會被認為是更好的設計嗎?
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

如果有記錄在案的最佳實踐,我還沒有找到它們。但是,以下是我在確定將參數放在url中的位置時使用的一些準則:

可選參數更容易放入查詢字符串中。

如果要在參數值與現有資源不對應時返回404錯誤,則我傾向于使用路徑段參數。G./customer/232其中232不是有效的客戶ID。

但是,如果您想返回一個空列表,那么當找不到參數時,我建議使用查詢字符串參數。G./contacts?name=dave

如果參數影響URI空間的整個子樹,則使用路徑段。例如語言參數/en/document/foo.txt對決/document/foo.txt?language=en

與查詢參數相比,我更喜歡在路徑段中的唯一標識符。

URI的正式規則在本rfc規范中找到。這里..還有另一個非常有用的rfc規范。這里它定義參數化URI的規則。


查看完整回答
反對 回復 2019-07-04
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

這取決于設計。在HTTP上,對于處于靜止狀態的URI沒有規則(主要是它們是唯一的)。通常是關于味覺和直覺的問題.。

我采取以下辦法:

  • URL路徑-元素:資源及其路徑元素形成目錄遍歷和子資源(例如/Item/{id}、/user/Item)。當你不確定的時候,問你的同事,他們是否認為遍歷和他們認為在“另一個目錄”中最有可能的路徑元素是正確的選擇。
  • URL參數:當沒有真正的遍歷時(包含多個查詢參數的搜索資源就是一個很好的例子)


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 1093 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號