我已經看到一些網絡服務使用指向另一個資源的鏈接進行響應,而不是在請求的資源中內聯資源數據。這種方法何時是首選?或者我很好只使用JSON例如在我的迴應?不創建與其他資源的鏈接...何時在REST響應中放置資源的URL?
{
...
user: "api/user/6"
...
}
我已經看到一些網絡服務使用指向另一個資源的鏈接進行響應,而不是在請求的資源中內聯資源數據。這種方法何時是首選?或者我很好只使用JSON例如在我的迴應?不創建與其他資源的鏈接...何時在REST響應中放置資源的URL?
{
...
user: "api/user/6"
...
}
REST響應正文或標題中提供的URL通常是引用URL。假設您通過調用REST服務來創建一個實體,並且您想知道如何在稍後檢索該實體的詳細信息。因此,一般創建實體時,它們都與唯一的ID相關聯。此Id通常用於參考URL以獲取該實體。這裏是例子:
CREATE
/api/entity/ : POST to create an entity
RESPONSE : 200 OK response body/header
/api/entity/1
其中1所以現在對於實體生成的ID,你可以做一個GET來檢索新創建的實體
GET : /api/entity/1
RESPONSE: details of the entity.
只需添加上的完整細節@ Juned Ahsan回答,
在大多數情況下,對REST服務POST操作的響應代碼應爲201創建。
在這種情況下,根據HTTP 1.1 protocol:
新創建的資源可以通過URI(或多個)被引用返回在響應的實體,以最特定的URI用於由位置給出的資源標題字段。
因此,你總是使用json,xml等在actjal響應?你不使用鏈接? – LuckyLuke 2013-05-11 13:18:47
這裏的鏈接是什麼意思?我們正在討論REST API,而不是網頁 – 2013-05-11 14:17:26