25

我想向 Rails 应用程序发送一个 POST 请求,并让它保存并解析数据库中的请求正文...

我在接收端的路线目前设置为:

post '/request' => 'controller#receives_data'

当我将数据发布到此控制器时,我使用:

def post_it
  connection.post(uri.path, "this is data", header_with_authkey)
end

我接收帖子的控制器方法设置为:

def receives_data
   log(request.body.read)
end

但是我得到了一个422 error, unprocessable entity,并且日志文件总是空的......

是否需要包含特定的标题才能将其发布到 Rails 应用程序?我的控制器或路由中是否需要包含特定配置?

4

2 回答 2

39
request.raw_post

阅读请求正文。这对于需要直接处理原始请求的 Web 服务很有用。

http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-raw_post

于 2016-04-21T08:33:15.580 回答
22

您需要在帖子中设置以下标题。

Content-Type: application/json
Accept: application/json
于 2013-11-12T07:40:37.363 回答