エンドポイントは、ルーティングの別の用語です。API について議論するとき、多くの人はアクセスされるルートをエンドポイントとして考えることに慣れています。
メイン アプリケーションのルーティングとの混合を避けるために、Dingo API は独自のルーターを使用するため、最初に API ルーター インスタンスを取得してエンドポイントを作成する必要があります。
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {});
$api->version(['v1', 'v2'], function ($api) {});
$api->version('v1', ['middleware' => 'foo'], function ($api) {});
$api->version('v1', function ($api) { $api->group(['middleware' => 'foo'], function ($api) { // Endpoints registered here will have the "foo" middleware applied. });});
$api->version('v1', function ($api) { $api->get('users/{id}', 'App\Api\Controllers\UserController@show');});
$api->version('v1', function ($api) { $api->get('users/{id}', 'App\Api\V1\Controllers\UserController@show');});$api->version('v2', function ($api) { $api->get('users/{id}', 'App\Api\V2\Controllers\UserController@show');});
注: Laravel とは異なり、コントローラーの完全な名前空間をここで指定する必要があります。
ルートに名前を付けて URL を生成します
名前付きルートは、対応する URL を簡単に生成するのに役立ちます。 Laravel のようにルートに名前を付けることができます:
$api->get('users/{id}', ['as' => 'users.index', 'uses' => 'Api\V1\UserController@show']);
app('Dingo\Api\Routing\UrlGenerator')->version('v1')->route('users.index');
$ php artisan api:routes