从rails应用程序发送嵌套的JSON到hapijs应用程序
我使用rails 3.4,node 9和Hapi js 16.5.2
我想要做的是从Rails应用程序发送嵌套的JSON到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
问题是所有的嵌套元素都是非常奇怪的发送,而不是forms:
time: { start: "12.11.17", end: "13.11.17" }
它回来的forms
"time[start]": "12.11.17", "time[end]": "13.11.17"
这对以后的validation具有挑战性。 我究竟做错了什么? 我试着在请求中添加以下内容:
:header => { :content_type => :json, :accept => :json }
但是这并没有帮助。 有没有不同的方法来通过铁轨发送JSON?
数据看起来很奇怪。 它应该看起来像这样:
"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
您现在可以访问url: /this-url-is-for-seeing-the-data.json
并在浏览器中查看数据。
现在你知道这是正确的,你可以build立rest,我希望:)
祝你好运!
- 常见的节点logging,快速应用 – 最佳实践?
- 如何使用try,catch在error handling中打印消息
- Sails.js w / Handlebars(SPA风格)中Ember.js产量的等同物
- 适用于node.js的AWS sdk
- 为什么我需要编写JSON.parse(JSON.stringify(data))?
- Node.js – 从另一个函数/对象发出一个事件
- Selenium-WebDriver如何使用JavaScript和Firefox浏览器突出显示元素
- 如何使用自动值在SimpleSchema Meteor中定义子文档,而不将其插入每个父文档插入?
- 阻止winston的Crontab写入我的日志文件