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: 输出将如下图所示:
附加头部
可以使用 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: 输出将如下图所示:
附加 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: 输出将如下图所示:
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: 输出将如下图所示: