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://: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://: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://: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://:8000/json

步驟 3 - 輸出將顯示如下面的影像所示。

Json Response
廣告