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