web-dev-qa-db-ja.com

POSTのデータRails 4で、request.bodyを読み取り中

POSTリクエストをRailsアプリケーションに送信し、データベースにリクエスト本文を保存して解析させます...

現在、受信側のルートは次のように設定されています。

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アプリに投稿するために含める必要がある特定のヘッダーはありますか?コントローラーまたはルートに含める必要がある特定の構成はありますか?

19
Davey

投稿に次のヘッダーを設定する必要があります。

Content-Type: application/json
Accept: application/json
19
aartikriplani
request.raw_post

リクエスト本文を読みます。これは、生のリクエストを直接処理する必要があるWebサービスに役立ちます。

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

21
feipinghuang