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 测试基本响应。

https://127.0.0.1:8000/basic_response

步骤 3 - 输出将显示如下面的图像所示。

Basic Response

附加头信息

可以使用 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 文件中。

app/Http/routes.php

Route::get('/header',function() {
   return response("Hello", 200)->header('Content-Type', 'text/html');
});

步骤 2 - 访问以下 URL 测试基本响应。

https://127.0.0.1:8000/header

步骤 3 - 输出将显示如下面的图像所示。

Hello

附加 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 - 访问以下 URL 测试基本响应。

https://127.0.0.1:8000/cookie

步骤 3 - 输出将显示如下面的图像所示。

Hello

JSON 响应

可以使用 json 方法发送 JSON 响应。此方法会自动将 Content-Type 头信息设置为 application/jsonjson 方法会自动将数组转换为相应的 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 响应。

https://127.0.0.1:8000/json

步骤 3 - 输出将显示如下面的图像所示。

Json Response
广告