Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何让Rails基于标题用json响应_Ruby On Rails_Ruby_Json_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 如何让Rails基于标题用json响应

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

我正在用Rails 4构建一个API,在我的控制器中,我使用
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