Laravel 响应


Web 应用程序根据许多参数以多种方式响应用户的请求。本章详细介绍了 Laravel Web 应用程序中的响应。

基本响应


Laravel 提供了几种不同的方式来返回响应,响应可以从路由或控制器发送。基本响应是简单的字符串,如下面的示例代码所示,此字符串将自动转换为适当的 HTTP 响应。

步骤1: 添加以下代码到app/Http/routes.php文件中:

Route::get('/basic_response', function () {
    return 'Hello World';
});

步骤2:访问以下 URL 来测试基本响应:

http://localhost:8000/basic_response

步骤3: 输出将如下图所示:

Basic Response

附加头部


可以使用 header() 方法将响应附加到http头部,如下面的示例代码所示:

return response($content,$status)
    ->header('Content-Type', $type)
    ->header('X-Header-One', 'Header Value')
    ->header('X-Header-Two', 'Header Value');

观察以下示例以了解有关 Response 的更多信息:

步骤1: 添加以下代码到app/Http/routes.php文件中:

Route::get('/header',function() {
    return response("Hello", 200)->header('Content-Type', 'text/html');
});

步骤2: 访问以下网址测试响应:

http://localhost:8000/header

步骤3: 输出将如下图所示:

Hello

附加 Cookie


withcookie()方法用于附加cookie,用这个方法生成的cookie可以通过调用withcookie()方法与响应实例相连接。默认情况下,所有由Laravel生成的cookie都是经过加密和签名的,所以它们不能被客户端修改或读取。

观察以下示例以了解有关附加 cookie 的更多信息:

步骤1: 添加以下代码到app/Http/routes.php文件中:

Route::get('/cookie',function() {
    return response("Hello", 200)->header('Content-Type', 'text/html')
        ->withcookie('name','Virat Gandhi');
});

步骤2:访问以下 URL 来测试响应:

http://localhost:8000/cookie

步骤3: 输出将如下图所示:

Hello

JSON 响应


JSON响应可以使用json()方法发送,这个方法会自动将Content-Type头设置为application/json,并自动把数组转换为适当的json响应。

观察以下示例以了解有关 JSON Response 的更多信息:

步骤1: 在app/Http/routes.php文件中添加以下代码:

Route::get('json',function() {
    return response()->json(['name' => 'Virat Gandhi', 'state' => 'Gujarat']);
});

步骤2:访问以下网址测试json响应:

http://localhost:8000/json

步骤3: 输出将如下图所示:

Json Response