2014-01-13 13 views
1

下午好,ASP.NET REST API約定子資源後的參數

我們有一個小的討論,在這裏關於REST約定,老實說我不知道​​該怎麼辦。我舉例如下資源:

/保留。

對該網址的發佈請求創建新預留。到現在爲止還挺好。但現在我想爲該預訂添加一個空間。所以,我們定義了以下網址:

/預訂/ {ID} /間

據我所知,這是不是純粹的REST,但它的確定(糾正我,如果我錯了)。如果我想添加一個房間,我使用3/4參數創建一個發佈請求並將其發送到該網址。問題是保留的ID:

  • 如果我把它放在url中它實際上是一個查詢字符串參數,而不是一個post參數,那麼這是有效的約定?
  • 當我確實允許它從查詢字符串als body中獲取它,比我的動作有2個參數:保留ID和包含其他參數的包裝器對象。這不是反對編碼慣例,但它看起來不太好..
  • 如果我的請求正文中也有相同的參數,我定義了兩次。

你們知道關於這個話題的其他約定嗎?我找不到有關它的相關主題。

由於提前,

BHD

回答

0

其實 '房間' 是這裏的資源。我也不認爲房間應該總是保留。我認爲你應該能夠查詢和創建獨立於預訂的'房間'資源。

此外,保留是一個行爲,當一個'人'(假設你有一個這樣的資源)想要一個'房間'。所以'人'和'房間'是這裏真正的資源。 '保留'可以被視爲一種將'人'映射到'房間'的資源。因此,預訂需要這些人員和房間ID。