Laravel - 响应
Web 应用程序根据许多参数以多种方式响应用户的请求。本章详细介绍了 Laravel Web 应用程序中的响应。
基本响应
Laravel 提供了几种不同的返回响应的方法。响应可以从路由或控制器发送。可以发送的基本响应是简单字符串,如下面的示例代码所示。此字符串将自动转换为适当的 HTTP 响应。
示例
步骤 1 − 将以下代码添加到 app/Http/routes.php 文件。
app/Http/routes.php
Route::get('/basic_response', function () { return 'Hello World'; });
步骤 2 − 访问以下 URL 以测试基本响应。
http://localhost:8000/basic_response
步骤 3 − 输出将如下图所示显示。
附加标头
可以使用 header() 方法将响应附加到标头。我们还可以附加一系列标头,如下面的示例代码所示。
return response($content,$status) ->header('Content-Type', $type) ->header('X-Header-One', 'Header Value') ->header('X-Header-Two', 'Header Value');
示例
观察以下示例以了解有关响应的更多信息 −
步骤 1 − 将以下代码添加到 app/Http/routes.php 文件。
app/Http/routes.php
Route::get('/header',function() { return response("Hello", 200)->header('Content-Type', 'text/html'); });
步骤 2 − 访问以下 URL 以测试基本响应。
http://localhost:8000/header
步骤 3 −输出将如下图所示显示。
附加 Cookies
withcookie() 辅助方法用于附加 cookies。使用此方法生成的 cookie 可以通过使用响应实例调用 withcookie() 方法来附加。默认情况下,Laravel 生成的所有 cookie 都经过加密和签名,因此客户端无法修改或读取它们。
示例
观察以下示例以了解有关附加 cookie 的更多信息 −
步骤 1 − 将以下代码添加到 app/Http/routes.php 文件。
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 − 输出将如下图所示显示。
JSON 响应
可以使用 json 方法发送 JSON 响应。此方法将自动将 Content-Type 标头设置为 application/json。 json 方法会自动将数组转换为适当的 json 响应。
示例
观察以下示例以了解有关 JSON 响应的更多信息 −
步骤 1 − 在 app/Http/routes.php 文件中添加以下行。
app/Http/routes.php
Route::get('json',function() { return response()->json(['name' => 'Virat Gandhi', 'state' => 'Gujarat']); });
步骤 2 −访问以下 URL 测试 json 响应。
http://localhost:8000/json
步骤 3 − 输出将如下图所示。