如何在Laravel 5中获取原始json请求有效负载?

时间:2017-01-03 21:42:07

标签: json laravel laravel-5 http-post

假设这是请求的有效负载:

{name : 'John', age: 42}

您可以使用Request::all()获得所有参数。

如果有效负载是基本类型,如true42,如何正确获取请求有效负载?

Request::getContent()将它们作为字符串接收,我希望它们也是正确的类型。

1 个答案:

答案 0 :(得分:12)

您可以使用json_decode将原始json有效负载解码为数组:

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