了解Ruby / Sinatra中的POST和JSON.parse

时间:2015-02-09 00:28:54

标签: ruby json sinatra

我正在尝试了解如何将JSON对象发布到Sinatra API的事件链。

将有一个JSON对象需要使用Sinatra通过POST请求传递,这里是我不想工作的代码:

namespace '/api/v1/registrations' do
    post '/' do
        my_hash = JSON.parse(request.body.read)
        puts my_hash
    end     
end

以下是我试图发布的一些测试数据:

curl -H "Content-Type: application/json" -X POST http://localhost:4567/api/v1/registrations/ -d '{"i": "am json"}'

我在控制台上收到此错误:

JSON::ParserError - 757: unexpected token at '{i: am':

似乎我可以将一个JSON对象发布到/ api / v1 / registrations /并且我会在控制台上看到它被解析,所以我可以看到它实际上做了一些事情。

request.body.read到底在做什么?我用Google搜索了手指,我只需要一个关于POSTING JSON如何工作的外行答案。

0 个答案:

没有答案