簡體   English   中英

使用 http PUT 方法查詢參數 - REST API

[英]Query parameter with http PUT method - REST API

我正在通過我的 http PUT 方法中的請求 object 和路徑變量來更新記錄。 與請求 object 相比,是否可以將附加數據(例如時間戳)作為查詢參數保存在具有附加字段(例如時間戳)的最終記錄中?

與請求 object 相比,是否可以將附加數據(例如時間戳)作為查詢參數保存在具有附加字段(例如時間戳)的最終記錄中?

簡短的回答:這可能並不意味着你認為它做了什么。

可以在 PUT 請求中使用查詢參數嗎? 絕對地。 查詢參數只是資源標識符的另一部分。

/15f3221f-ee3b-4155-bc75-f80855a9187e/abc
/15f3221f-ee3b-4155-bc75-f80855a9187e?abc

這是兩個不同的資源標識符,機器不會假設它們標識相同的資源,但是適用於其中一個的所有 http 方法也適用於另一個,並且含義相同。

當然, abc沒有什么神奇之處,你可以在那里使用時間戳

/15f3221f-ee3b-4155-bc75-f80855a9187e?1970-01-01

更改時間戳會更改標識符; 就通用組件而言,接下來的兩個示例標識了不同的資源

/15f3221f-ee3b-4155-bc75-f80855a9187e?1970-01-01
/15f3221f-ee3b-4155-bc75-f80855a9187e?1970-01-02

您可以將它們想象為桌面日歷的兩個不同頁面。 修改 1970-01-02 文檔中的約會列表根本不會更改 1970-01-01 日歷。

有關表示的元數據通常嵌入在表示本身中(想想 HTML 文檔中的 HEAD 元素)或 HTTP 標頭中。 據我所知,我們沒有與您想要的語義相匹配的標准化 header。

綜上所述:服務器在解釋更新/15f3221f-ee3b-4155-bc75-f80855a9187e?1970-01-02表示的請求方面有很大的自由度。 例如,該資源的更新也可能會更新許多其他資源的表示。

(但請記住緩存 - 我們只能通過有限的方式告知通用客戶端某些緩存表示已被請求無效。)

暫無
暫無

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

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