Php Laravel返回响应()->;json()只返回一个数组

Php Laravel返回响应()->;json()只返回一个数组,php,json,laravel,Php,Json,Laravel,报告说: json方法将自动将内容类型标题设置为 application/json 但是,如果我在api.php或web.php中有一个路由,并在其中返回一个数组,那么也会放入该头 Route::get('test', function () { return [ 'test' => 'test' ]; }); 如果可以的话,写额外的代码response()->json(…)有意义吗?我想这取决于你。当您返回任何类似于集合和数组的值时,Laravel会自

报告说:

json
方法将自动将
内容类型
标题设置为
application/json

但是,如果我在
api.php
web.php
中有一个路由,并在其中返回一个数组,那么也会放入该头

Route::get('test', function () {
    return [
        'test' => 'test'
    ];
});


如果可以的话,写额外的代码
response()->json(…)
有意义吗?

我想这取决于你。当您返回任何类似于集合和数组的值时,Laravel会自动将其转换为JSON(尽管我从未注意到应用程序/JSON头),并且状态代码为200


这意味着,如果您不希望Laravel为您设置标题和状态代码,那么请使用,
response()->json([…],此处为状态代码)

是的,这是有意义的,无论是谁在你后面读代码。我敢打赌,当您发送一个带有头
accept:application/json
Laravel的请求时,它会尝试返回json。当我们在api中发送post JSON数据时,如果返回“non-HTML”(no
view()
),它可能会尝试转换为JSON。在laravel中,我们将以数组的形式获取它,因为它是post请求,我们将以$request->all()的形式获取它。