2010-08-17 47 views
3

我瞭解大多數RESTful網站設計應該如何運作,但在實施博客時無法決定展示表單以插入新博客文章的最佳方式。 example.com/posts/create會合理嗎?這感覺就像「創建」不是寧靜的,就像它將信息放入應該簡單地由PUT/POST表示的URI一樣。什麼是呈現表單的RESTful方式?

別人會怎麼做?

回答

2

看看Rails Routing對Rails的看法就可以了。

Verb URL   Controller Action Used For 
GET /photos/new Photos  new  return an HTML form for creating a new photo 
POST /photos  Photos  create create a new photo 

所以,在你的情況,得到了/posts/new以獲取新的崗位的形式,但POST /posts創建一個新的職位。

問題是,您正在發佈一篇新的博客文章,但要做到這一點,您需要獲取可讓您執行此操作的表單。在某種程度上,新的博客帖子表單只是另一種(靜態)資源。

+0

這就是我的腦海裏領先,但令人欣慰看其他人都同意:)謝謝。 – tsvallender 2010-08-17 16:19:53

0

使用POST提交插入信息,然後讓頁面重定向到URL中的新ID。您不希望在URL上獲得新信息,因爲刷新該URL的用戶將發佈兩次。

+0

是的,但是如何顯示插入新帖子的表單?這就是問題所在。 – Skilldrick 2010-08-17 15:57:09

2

如果你不喜歡那個URL感覺方式,然後將其更改爲:

GET http://example.com/posts/createform 
+1

我認爲這會擊中頭部。你只是改變了名詞'createform'的動詞'create'。事實上,我猜,只是'/ posts/form'也可以。但請記住允許客戶在其他地方發現表單的URI! – mogsie 2010-08-17 19:07:36

相關問題