2017-01-03 8 views
0

letが、これは、要求のペイロードであると言う:Laravel 5でプリミティブjsonリクエストペイロードを取得する方法は?

{name : 'John', age: 42} 

あなたはRequest::all()ですべて偶然にを得ることができます。

ペイロードがtrueまたは42のようなプリミティブ型の場合、どのようにしてリクエストペイロードを正しく取得できますか?

Request::getContent()は文字列として受け取っていますが、正しいタイプにしてもらいたいです。

答えて

3

あなたは配列に生のJSONペイロードをデコードするjson_decodeを使用することができます。

Route::post('/request', function() { 
    $payLoad = json_decode(request()->getContent(), true); 

    dd($payLoad['name']); 
}); 

そして、あなたは

John 

またはクエリパラメータまたはポストからあなたのペイロードをデコードするjson_decodeを使用することができますを取得する必要がありますデータ:

Route::get('/primitive', function() { 
    $payLoad = json_decode(request()->get('payload')); 

    dd($payLoad); 
}); 

打撃:

http://app.dev/primitive?payload={%20%22name%22:%20%22John%22,%20%22age%22:%2042,%20%22male%22:%20true%20} 

あなたは

enter image description here

+0

ペイロードは、キーと値のペアではありません取得する必要があります。 POSTリクエストの本文にちょうどjsonの値。 'json_decode(request() - > getContent())'を使うことができます。ありがとう – zarax

+0

はい、それは同じです。方法を示すために編集されました。 –

関連する問題