laravel dingo/apiで簡単なAPIを作成する

不言
リリース: 2023-04-02 21:36:01
オリジナル
2321 人が閲覧しました

この記事では、laravel dingo/api を使用して、特定の参照値を持つ単純な API を作成する方法を主に紹介します。今回は、それを共有します。必要な友人は、それを参照できます。

1、 .env 設定ファイルの追加

API_STANDARDS_TREE=vnd 
API_SUBTYPE=myapp
API_PREFIX=api
API_DOMAIN=null
API_VERSION=v1
API_NAME="My API"
API_CONDITIONAL_REQUEST=false
API_STRICT=false
API_DEBUG=true
ログイン後にコピー

標準ツリー 標準ツリー

x、prs、vnd の 3 つの異なるツリーがあります。使用する標準ツリーは、開発するプロジェクトによって異なります。

未登録ツリー (x) は主にローカルおよびプライベート環境を表します

プライベート ツリー (prs) は主に商用リリースのないプロジェクトを表します

ベンダー ツリー (vnd) は主に公開リリースされたプロジェクトを表します

サブタイプ SUBTYPE

サブタイプは通常、アプリケーションまたはプロジェクトの短縮名であり、すべて小文字です。

プレフィックス PREFIX (www.z5w.net/api/ など)

API を使用したことがある場合は、ほとんどのサービスがサブドメインまたはプレフィックスから来ていることがわかるでしょう。 。プレフィックスまたはサブドメインは必須ですが、必要なのは 1 つだけです。バージョン管理は Accept ヘッダーによって処理されるため、プレフィックスまたはサブドメインとしてバージョン番号を使用することは避けてください。

サブドメイン名 API_DOMAIN

たとえば、api.z5w.net を API 呼び出しアドレスとして使用できます。プレフィックスが設定されている場合、ドメインは通常 null に設定されます

version

このバージョン番号は API のデフォルトのバージョン番号であり、 some バージョン番号が指定されていない場合、コールバックのデフォルト値として使用されます。このバージョン番号は、API ドキュメントを生成する際のデフォルト値としても使用されます。

NameName

API の名前は、API ブループリント コマンドを使用してドキュメントを生成する場合にのみ使用されます。この名前を使用すると、ドキュメントを生成するたびに名前を手動で定義する必要がなくなります。
引用符で囲む必要がある場合があります。

条件付きリクエスト CONDITIONAL_REQUEST

「条件付きリクエスト」はデフォルトでオンになっており、クライアントのキャッシュ メカニズムが可能な場合に API リクエストをキャッシュするのに役立ちます。

Strict モード STRICT

Strict モードでは、クライアントは、構成ファイルで構成されているデフォルト バージョンの代わりに Accept ヘッダーを送信する必要があります。これは、ブラウザを通じて API に直接アクセスできないことを意味します。

厳密モー​​ドが有効な場合、不正な Accept ヘッダーを送信すると、ハンドルされない例外 Symfony\Component\HttpKernel\Exception\BadRequestHttpException がスローされます。この例外は自分で処理する必要があります。

デバッグ モードDebug

このパッケージで処理される一般的なエラーには、有効にするとスタック トレースの詳細が入力されるデバッグ キーが含まれます。

2. /routes/web.php にルートを追加します

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
    $api->get('helloworld', 'App\Api\Controllers\HelloController@index');
});
ログイン後にコピー

3. ファイル /app/Api/Controllers/HelloController.php

<?php

namespace App\Api\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class HelloController extends Controller
{
    public function index()
    {
        return &#39;{content:Helloworld!}&#39;;
    }
}
ログイン後にコピー

を作成します 4. テストルート: $ php 職人 api:routes、

+-----+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
| Host | Method   | URI             | Name | Action                                    | Protected | Version(s) | Scope(s) | Rate Limit |
+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
|      | GET|HEAD | /api/helloworld |      | App\Api\Controllers\HelloController@index | No        | v1         |          |            |
+------+----------+-----------------+------+-------------------------------------------+-----------+------------+----------+------------+
ログイン後にコピー

が表示されたら、成功を意味します

次に、http://www.*.com/api/helloworld にアクセスして、JSON データが保存されているかどうかを確認します。 apiの登場 毛糸?

{content:Helloworld!}
ログイン後にコピー

以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

laravel dingo/api jwt-auth 認証の追加

以上がlaravel dingo/apiで簡単なAPIを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート