Laravel - 响应


Web 应用程序根据许多参数以多种方式响应用户的请求。本章详细介绍了 Laravel Web 应用程序中的响应。

基本反应

Laravel 提供了几种不同的方式来返回响应。响应可以从路由或控制器发送。可以发送的基本响应是简单的字符串,如下面的示例代码所示。该字符串将自动转换为适当的 HTTP 响应。

例子

步骤 1 - 将以下代码添加到app/Http/routes.php文件中。

应用程序/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文件中。

应用程序/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。可以通过使用响应实例调用withcookie()方法来附加使用此方法生成的 cookie 。默认情况下,Laravel 生成的所有 cookie 都经过加密和签名,因此客户端无法修改或读取它们。

例子

观察以下示例以了解有关附加 cookie 的更多信息 -

步骤 1 - 将以下代码添加到app/Http/routes.php文件中。

应用程序/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/jsonjson方法会自动将数组转换为适当的json响应。

例子

观察以下示例以了解有关 JSON 响应的更多信息 -

步骤 1 - 在app/Http/routes.php文件中添加以下行。

应用程序/Http/routes.php

Route::get('json',function() {
   return response()->json(['name' => 'Virat Gandhi', 'state' => 'Gujarat']);
});

步骤 2 - 访问以下 URL 来测试 json 响应。

http://localhost:8000/json

步骤 3 - 输出将如下图所示。

Json响应