我应该使用哪种HTTP方法来创建或只是读取资源的请求?

时间:2013-10-07 11:03:29

标签: ruby-on-rails rest

在我的Rails应用程序中,我有一个url路由到一个负责显示或创建(如果不存在)e资源的操作。什么是适用于此类请求的http动词?

更准确地说,在我的方法中,我不直接访问资源,但我使用的是具有该行为的库:首先搜索,然后创建资源,如果不退出。最后,我的方法总是提供库返回的资源,无论是全新的还是旧的。因此,我不能分成两个请求。

根据this并考虑我的方法总是返回相同的资源(幂等),看起来PUT应该是正确的。我只是想知道PUT是否可以用于e资源实际上只是检索(获取)并且任何事情都没有更新的情况

TNX

4 个答案:

答案 0 :(得分:0)

根据Ruby on Rails指南,您应该使用GETPOST动词。更多信息请访问:http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions

答案 1 :(得分:0)

用于创建的POST,用于显示的GET由rails自动使用。但我希望你能用自定义编程做各种各样的事情,因为数据将以params []

的形式提供给你。

答案 2 :(得分:0)

您使用GET进行检索 如果找到资源,则返回资源200。 如果找不到资源,则让它返回404并检查错误代码并使用POST并创建资源。

答案 3 :(得分:0)

如果您在创建资源时不需要任何参数,那么您应该使用GET请求Else如果您在创建资源时需要params,那么您应该单独创建(使用params的Post请求)和显示(GET请求)资源。