中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel 5.5中如何為響應請求提供的可響應接口

發布時間:2021-08-09 09:32:47 來源:億速云 閱讀:114 作者:小新 欄目:開發技術

這篇文章主要介紹了Laravel 5.5中如何為響應請求提供的可響應接口,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

前言

Laravel 5.5 也將會是接下來的一個 LTS(長期支持)版本。 這就意味著它擁有兩年修復以及三年的安全更新支持。Laravel 5.1 也是如此,不過它兩年的錯誤修復支持將在今年結束。

Laravel 5.5 的路由中增加了一種新的返回類型:可相應接口( Responsable )。該接口允許對象在從控制器或者閉包路由中返回時自動被轉化為標準的 HTTP 響應接口。任何實現 Responsable 接口的對象必須實現一個名為 toResponse() 的方法,該方法將對象轉化為 HTTP 響應對象。

看示例:

use Illuminate\Contracts\Support\Responsable;

class ExampleObject implements Responsable
{
 public function __construct($name = null)
 {
  $this->name = $name ?? 'Teapot'; 
 }

 public function status()
 {
  switch(strtolower($this->name)) {
   case 'teapot':
    return 418;
   default:
    return 200;
  }
 }

 public function toResponse()
 {
  return response(
   "Hello {$this->name}",
   $this->status(),
   ['X-Person' => $this->name]
  );
 }
}

在路由中使用這個 ExampleObject 的時候,你可以這樣做:

Route::get('/hello', function() {
 return new ExampleObject(request('name'));
});

在 Laravel 框架中, Route 類如今可以在準備響應內容時檢查這種(實現了 Responsable 接口的)類型:

if ($response instanceof Responsable) {
 $response = $response->toResponse();
}

假如你在 App\Http\Responses 命名空間下用多個響應類型來組織你的響應內容,可以參考下面這個示例。該示例演示了如何支持 Posts (多個實例組成的 Collection):

posts = $posts;
 }

 public function toResponse()
 {
  return response()->json($this->transformPosts());
 }

 protected function transformPosts()
 {
  return $this->posts->map(function ($post) {
   return [
    'title' => $post->title,
    'description' => $post->description,
    'body' => $post->body,
    'published_date' => $post->published_at->toIso8601String(),
    'created' => $post->created_at->toIso8601String(),
   ];
  });
 }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel 5.5中如何為響應請求提供的可響應接口”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仁化县| 梁山县| 雷州市| 永福县| 松潘县| 焦作市| 东辽县| 鲜城| 宁明县| 额济纳旗| 乃东县| 永康市| 香格里拉县| 洮南市| 临洮县| 凌源市| 新干县| 兴业县| 雅安市| 康乐县| 崇信县| 五常市| 镇江市| 临安市| 铁力市| 锡林郭勒盟| 沭阳县| 广宗县| 长兴县| 合肥市| 阿克苏市| 蒙自县| 文登市| 博野县| 华阴市| 泗水县| 石景山区| 泾阳县| 平定县| 南雄市| 呼图壁县|