Ruby on rails 如何让Rails基于标题用json响应
我正在用Rails 4构建一个API,在我的控制器中,我使用Ruby on rails 如何让Rails基于标题用json响应,ruby-on-rails,ruby,json,ruby-on-rails-4,Ruby On Rails,Ruby,Json,Ruby On Rails 4,我正在用Rails 4构建一个API,在我的控制器中,我使用respond\u to来区分html和json请求,这两种请求都可以正常工作。在Postman中测试API时,我添加了以下标题:Content-Type:application/json,但在我的请求中,我仍然需要在其末尾添加.json,如下所示:https://myapi.com/api/users.json否则,Rails将以html响应,即使前面提到的标题存在 我的问题是:有没有一种方法可以让Rails识别内容类型:applic
respond\u to
来区分html
和json
请求,这两种请求都可以正常工作。在Postman中测试API时,我添加了以下标题:Content-Type:application/json
,但在我的请求中,我仍然需要在其末尾添加.json
,如下所示:https://myapi.com/api/users.json
否则,Rails将以html
响应,即使前面提到的标题存在
我的问题是:有没有一种方法可以让Rails识别
内容类型:application/json
头并用json
响应,而不用我使用url中的.json
部分,比如:https://mypai.com/api/users
?您还需要将Accept
标题设置为Accept:应用程序/json
如果你想知道为什么,以及两个标题之间的区别,这篇文章的答案可以很好地解释它:如果你在视图中使用任何链接帮助程序,只需添加格式信息,比如
posts\u path(format::json)
我没有使用视图,但我应该在哪里设置Accept
标题呢?实际上,不要介意!我得到了它。仅供参考(您可能希望编辑您的答案以供参考),您需要添加另一个标题Accept:application/json