2013-11-26 36 views
1

給定一個對對象使用JSON編碼的RESTful服務器後端。 GET請求返回對象{ id: 42, name: 'Peter', age: 28 }。現在我想知道插入新對象的POST請求是否應以相同形式返回整個對象,或者只返回創建的ID。REST服務器應該在POST上發送整個對象還是僅發送ID?

例如,客戶端發送此請求以在數據庫中創建新條目。

method: POST 
url:  http://example.com/persons 
type: application/json 
content: { name: 'Max', age: 35 } 

應在服務器與{ id: 43, name: 'Max', age: 35 }或者只是像43{ id: 43 }創建ID迴應?在這個最小的例子中,我想帶寬並不重要,但實際上,編碼地理區域的屬性更長。

+0

這不取決於你想要對數據做什麼?此外,回送僅適用於服務器已更改的任何字段。客戶知道其他人。 –

+0

@ChristopherCreutzig沒有關於此的指導原則嗎?不是的,你可以根據你的評論寫一個答案,我會將其標記爲已接受。 – danijar

+0

這取決於客戶需要什麼。我和克里斯托弗在一起。如果數據已被服務器更改並且這些更改應傳達給客戶端,我想這個指導原則應該是返回它。 –

回答

1

我不知道的任何準則沒有硬性的規定。就個人而言,我認爲返回客戶端無法知道的數據可能會很有用 - 當然主要是新ID,但服務器可能已經規範化或以其他方式更改了其他數據。

但最終,它只是取決於客戶想要處理的數據。如果返回任何東西,我會使用一個可以進一步擴展的格式,而不僅僅是一個數字ID或類似的東西。

0

創建操作應理想情況下返回給調用者的URI,所以我會說什麼是標識符,返回這將是最佳實踐。

2

REST是一種建築設計也有對數據的反應應該是什麼

相關問題