【问题标题】:Render JSON from hash with headers从带有标头的哈希中渲染 JSON
【发布时间】:2016-03-07 18:25:04
【问题描述】:

我需要在我的哈希中添加一个标头,然后将其转换为 JSON。

在我的控制器中,我有:

render json: @rates

@rates 是一个看起来像这样的哈希:

{:rates=>[{:service_name=>"Standard", :service_code=>"FU", 
:total_price=>"1100", :currency=>"USD", :min_delivery_date=>"2016-03-11 
08:00:00 +0000", :max_delivery_date=>"2016-03-16 06:59:59 +0000"}, 
{:service_name=>"Priority", :service_code=>"FU", :total_price=>"2300", 
:currency=>"USD", :min_delivery_date=>"2016-03-08 08:00:00 +0000", 
:max_delivery_date=>"2016-03-09 07:59:59 +0000"}, 
{:service_name=>"Expedited", :service_code=>"FU", :total_price=>"1420", 
:currency=>"USD", :min_delivery_date=>"2016-03-09 08:00:00 +0000", 
:max_delivery_date=>"2016-03-10 07:59:59 +0000"}]}

JSON 格式是完美的,但我相信我需要它的标头,以便 API 从我那里获取费率。我看到了“Render JSON with header”,但没听懂。

我需要补充:

Content-Type: application/json

我可以将它作为另一个键/值对添加到我的哈希中吗?还是我必须做一些特殊的标头值?

【问题讨论】:

  • render json: @rates 会自动设置内容类型。你不需要做任何事情。
  • 是的。我显然做错了什么,因为我得到了那个奇怪的标题。

标签: ruby json api


【解决方案1】:

您可以尝试添加 content_type 选项。

render json: @rates, content_type: "application/json"

【讨论】:

  • 试过了,但没有运气。我希望有一些服务可以发布我的 JSON,API 可以点击它,看看它是否正确。。有人知道吗?
  • 我找到了!!这是我一直在寻找的服务:Hurl.it
  • 但是 Hurl.it 要求您的应用程序可以公开访问。如果您正在开发 JSON 端点并在本地进行测试,则可以使用 Postman。 getpostman.com
  • 天哪!那就更好了。。谢谢!我只需要能够看看到底发生了什么......我正在 Cloud9 上开发,我开始认为它与此有关......
猜你喜欢
  • 2017-03-23
  • 1970-01-01
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2021-10-20
  • 1970-01-01
相关资源
最近更新 更多