7

Content-Type: "application/x-www-form-urlencoded" を使用して Rails 4 アプリケーションにデータを投稿すると、request.body.read でリクエストの本文を取得できます。

ただし、Content-Type「application/json」でデータを投稿すると、最初に request.body.rewind を呼び出さない限り、request.body.read は空白になります。

2 つの質問:

1.) 最初にストリームで rewind を呼び出さずに生のリクエスト本文を取得するにはどうすればよいですか?

2.) クライアントが content-type application/json を送信するときに、Rails (または Rack) がリクエスト本文の JSON を解析するのを止めることは可能ですか?

Rails 3 では、Rails 4 と同様に、解析された JSON は params で利用できますが、 request.body.read は最初に巻き戻しを必要としません。

4

3 に答える 3

2

request.body.read の代わりに request.env を使用します。

于 2014-03-10T00:04:25.040 に答える