第三节:dingo/API 最新版 V2.0 之 Creating API Endpoints (创建API路由)

时间:2022-05-30 07:12:25

对付这篇文章的标题,其实,直译就是创建api端点。但是,真的很难懂,我还是写为API路由吧。每篇,文章,我城市全部去进行实践操纵,力求写一个好点的教程。

本文英文地点——>https://github.com/dingo/api/wiki/Creating-API-Endpoints

An endpoint is simply another term for a route. When talking about APIs many people refer to the routes you visit as an endpoint.

上面这句英文,是官方给出的关于这篇文章的介绍。概略意思就是,端点只是路由的一种术语。在谈论api时,许多人将您访谒的路由称为端点。

1.Version Groups  版本组

为了制止和主措施自带的路由区分,这个包使用了它本身的路由器。因此,我们必需首先获得一个dingoAPI路由器的实例来创建我们的路由。如下:

$api = app(‘Dingo\Api\Routing\Router‘);

如果你想要某个组响应多个版本的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. }); });

2.Creating Endpoints  创建路由

一旦你拥有一个版本组,你就可以使用$api 在这个版本组中,创建路由。

$api->version(‘v1‘, function ($api) { $api->get(‘users/{id}‘, ‘App\Api\Controllers\[email protected]‘); });

因为每个版本组都是不相关的,不异的url路由,可以在差此外版本组中,作出差此外响应。

$api->version(‘v1‘, function ($api) { $api->get(‘users/{id}‘, ‘App\Api\V1\Controllers\[email protected]‘); }); $api->version(‘v2‘, function ($api) { $api->get(‘users/{id}‘, ‘App\Api\V2\Controllers\[email protected]‘); });

你也可以在差此外版本中,,使用各自的要领注册资源和控制器。

提醒,你需要为控制器添加说明完整的定名空间(namespace),.例如:App\Http\Controllers

3.Named Routes And Generating URLs  定名路由并生成URL

定名你的路由可以使你便利的生成他们的 URL。你可以跟 Laravel 一样的要领定名你的路由。

$api->get(‘users/{id}‘, [‘as‘ => ‘users.index‘, ‘uses‘ => ‘Api\V1\[email protected]‘]);

此刻你可以通过路由别号,生成这个别号的URL。

app(‘Dingo\Api\Routing\UrlGenerator‘)->version(‘v1‘)->route(‘users.index‘);

4.Viewing Routes In The Console 在特定的控制台上显示路由

如果你使用Laravel 5.1, 你可以通过使用Artisan命令检察。

$ php artisan api:routes

该命令和Laravel中的route:list命令一样。