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');
示例
观察以下示例以更好地了解 Response −
步骤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
helper方法 withcookie() 用于附加Cookies。通过调用 response 实例的 withcookie() 方法可以附加使用该方法生成的Cookie。默认情况下,Laravel生成的所有Cookie都是加密和签名的,以防止客户端对其进行修改或读取。
示例
请参考以下示例以了解如何附加Cookies −
步骤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 - 访问 以下网址以测试基本响应。
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 - 访问以下网址测试json响应。
http://localhost:8000/json
步骤3 − 输出将如下图所示。