簡體   English   中英

REST方法可以獲取PATCH對PUT所做的操作

[英]REST method that does to GET what PATCH does to PUT

PATCH只允許更新資源的某些字段,導致部分更新,而PUT更新整個資源。 GET僅獲得完整的資源。

如果所述資源非常繁重並且包含很多字段,是否存在用於部分查詢資源的RESTful約定?

可能是有關URL中查詢的約定嗎? 還是另一個偽資源的定義?

沒有其他方法專門用於僅獲取一部分資源。 以我的經驗,有兩個簡單的選擇。 (我認為第二種選擇更好,但是那里可能會有分歧。)

選項1

使用查詢參數可以選擇要返回的屬性。

GET /basket/17

{
  "blueberry": 5,
  "grape": 7,
  "watermelon": "<base64 encoded file>"
}

GET /basket/17?p=blueberry&p=grape

{
  "blueberry": 5,
  "grape": 7
}

選項2

資源的所有重屬性都變為單獨的資源,主資源具有指向它們的鏈接。

GET /basket/17

{
  "blueberry": 5,
  "grape": 7,
  "watermelon": "/basket/watermelon/17"
}

GET /basket/watermelon/17

<bytes of file>

您可以定義一個自定義范圍單位來表達您的語義並使用GET。 參見http://greenbytes.de/tech/webdav/rfc7233.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM