Web应用程序根据许多参数以多种方式响应用户的请求.本章将详细介绍Laravel Web应用程序中的响应.
基本响应
Laravel提供了几种不同的返回响应方式.响应可以从路由或从控制器发送.可以发送的基本响应是简单的字符串,如下面的示例代码所示.此字符串将自动转换为适当的HTTP响应.
示例
步骤1 : 将以下代码添加到 app/Http/routes.php 文件中.
app/Http/routes.php
Route::get('/basic_response', function () { return 'Hello World';});
第2步 : 访问以下网址以测试基本回复.
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步 : 输出将如下图所示.
附加Cookie
withcookie()帮助程序方法用于附加Cookie.使用此方法生成的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步 : 访问以下网址以测试基本回复.
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步 : 输出将如下图所示.