【问题标题】:What's a RESTful way of presenting a form?什么是呈现表单的 RESTful 方式?
【发布时间】:2010-08-18 00:01:22
【问题描述】:

我了解 RESTful 网站设计应该如何运作的大部分内容,但在实现博客时无法决定呈现表单以插入新博客文章的最佳方式。 example.com/posts/create 是否合理?这感觉就像“创建”并不平静,就像它将信息放入应该由 PUT/POST 简单表示的 URI 中。

其他人会怎么做?

【问题讨论】:

    标签: web-services rest


    【解决方案1】:

    查看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 以创建新帖子。

    重点是,您要发布一篇新的博客文章,但要做到这一点,您需要获取能够执行此操作的表单。在某种程度上,新的博客文章表单只是另一种(静态)资源。

    【讨论】:

    • 这就是我的想法,但看到其他人同意我很欣慰:) 谢谢。
    【解决方案2】:

    如果您不喜欢该 URL 的感觉,请将其更改为:

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

    【讨论】:

    • 我认为这是一针见血。您刚刚将动词 create 更改为名词 createform。确实,我猜只是 /posts/form 也很有效。但请记住允许客户端在其他地方发现表单的 URI!
    【解决方案3】:

    使用 POST 提交插入信息,然后让页面使用 URL 中的新 ID 重定向到。您不希望 URL 上有新信息,因为刷新 URL 的用户会发布两次。

    【讨论】:

    • 是的,但是如何显示插入新帖子的表单呢?这就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 2013-03-05
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多