ホームページ >PHPフレームワーク >Laravel >Laravelのディンゴとは何ですか

Laravelのディンゴとは何ですか

WBOY
WBOYオリジナル
2022-02-23 16:39:392748ブラウズ

laravelにおいて、dingoはlaravelおよびlumenフレームワーク用のAPI開発ツールキットであり、主にルーティングバージョン管理、「Http Exception」例外処理、応答フォーマット変換「Response Transform」の3つの機能を備えています。

Laravelのディンゴとは何ですか

#この記事の動作環境: Windows 10 システム、Laravel バージョン 6、Dell G3 コンピューター。

laravel の dingo とは

dingo は、laravel および lumen フレームワーク用の API 開発ツールキットです。

API 仕様に基づいてドキュメント ディレクトリを見ると、次の 3 つの主要な機能を中心に展開しています。

  • ルーティング バージョン管理

  • Http Exception 例外処理

  • Response Transform Conversion 応答形式

dingoapi は、laravel のオープンソース プラグインであり、検索できます。プロジェクトに取り組んでいるとき、プロジェクト内のバックエンドとフロントエンドの間で常に json データのやり取りが行われますが、この dingoapi は json のやり取りに非常に便利です。

#ルーティング バージョン管理

1. 関連構成

1API サービスの宣言

API 仕様では、インターフェイス開発には API プレフィックス (http://XXX.com/api/xxx) またはサブドメイン名 (http://api.XXX.com/xxx) のいずれかを指定する必要があります。このような識別を通じて、 API インターフェース サービスのリクエストを表します。

したがって、API_PREFIX=api と API_DOMAIN=api.myapp.com のいずれかを設定する必要があります。設定が必要な可能性がある

.env オプション

もちろん、その役割は単なる識別子ではなく、dingo のルーティングと laravel のルーティングが共存していることがわかっており、dingo はこの機能を使用して を決定します。

2 バージョン管理

dingo は、http://XXX.com/api/xxx または http://api.XXX.com の場合、独自のルーティング サービスを提供します。 /xxx にアクセスすると API リクエストとみなされ、Dingo のルーティングサービス Dingo\Api\Routing\Router が、laravel 独自のルーティングサービス Illuminate\Routing\Router を引き継ぎます(引き継ぎ方法については後述します) 、get ()、post()、match()、group()... メソッドもあり、別のルーティング システムと同等です。

laravel がバージョンを区別する場合、http://XXX.com/api/v1 や http://XXX.com/api/v2 などの v1 プレフィックスを使用する必要がある場合があります。そして、dingo はヘッダー Accept を通じて処理されます。その形式は Accept: application/vnd.YOUR_SUBTYPE.v1 json です。これは、アクセスするには承認リクエスト ヘッダーを送信する必要があることを意味します。

設定ファイルでは、このモードはデフォルト (API_STRICT=false) では必須ではありませんが、アクセスできるのは設定ファイルのデフォルト バージョン ('version' => env('API_VERSION', 'v1) のみです) ')、。

true に設定した場合、つまり厳密モードがオンになった場合、accept ヘッダーを送信する必要があり、ブラウザーから API に直接アクセスすることはできません。

.env 設定が必要な場合があるオプション

API_STRICT=true //厳密モードを有効にするには、v1 または v2 に関係なく、accept ヘッダー情報を取得する必要があります

API_VERSION= v1 //バージョン番号が宣言されていない場合のデフォルトのバージョン番号

厳密モー​​ドがオンになっている場合

ヘッダーの accept 属性にはいくつかのオプションがあります。

Accept: application/vnd.YOUR_SUBTYPE.v1 json

API_STANDARDS_TREE=x,prs,vnd 標準ツリー 標準ツリー

API_SUBTYPE=myapp サブタイプ: プログラムの短縮名またはproject

v1 : バージョン番号

json: 返される形式は jsonp

.env にすることもできます 設定が必要なオプション

API_STANDARDS_TREE=prs

API_SUBTYPE=lara

API_DEFAULT_FORMAT=json //Default

[関連する推奨事項:

laravel ビデオ チュートリアル ]

以上がLaravelのディンゴとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。