我使用的是rails 3.4,node 9和Hapi js 16.5.2
我想做的是将一个嵌套的JSON从rails应用程序发送到hapi js应用程序,但是发生了一些奇怪的事情。我正在使用Rest-Client请求发送POST请求。 JSON具有以下格式:
data = {
time => {
start => "12.11.17",
end => "13.11.17"
},
event => "party"
}
请求的格式如下:
RestClient::Request.new(
:method => :post,
:url => "mynodeserverroute",
:payload => data
).execute
问题是所有嵌套元素的发送都非常奇怪,而不是形式:
time: {
start: "12.11.17",
end: "13.11.17"
}
它以
的形式出现"time[start]": "12.11.17",
"time[end]": "13.11.17"
这使得以后验证具有挑战性。 我究竟做错了什么?我尝试在请求中添加以下内容:
:header => {
:content_type => :json,
:accept => :json
}
但这也没有帮助。 是否有通过rails发送JSON的不同方法?
答案 0 :(得分:0)
数据看起来很奇怪。它应该看起来像:
"time":{"start":"12.11.17","end":"13.11.17"}
我不知道你的设置。 但我会从控制器中的简单rails内置respond_to做起,并使用相应的路由。之后实现RestClient :: Request。
例如:
#routes.rb
...
get '/this-url-is-for-seeing-the-data' => 'controller_name#post_this'
...
然后在控制器中:
def post_this
respond_to to |format|
format.json { render json: { time: { start: "12.11.17", end: "13.11.17" } } }
end
end
您现在可以访问网址:/this-url-is-for-seeing-the-data.json
并在浏览器中查看数据。
现在你知道它是对的,你可以建立其余的,我希望:)
祝你好运!