2

全新安装 Lumen 5.2 和全新安装 Dingo 1.0。*@dev

我已经安装了 bootstrap/app.php 中提供的服务

还设置 .env 文件,例如

API_VERSION=v1
API_PREFIX=api
API_SUBTYPE=app
API_DEBUG=true

在 Http/routes.php 我添加了一个测试路由,例如

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


$api->version('v1', ['namespace' => 'App\Http\Controllers\V1'], function ($api) {
    $api->get('example', 'ExampleController@test');
});

如果我尝试,这条路线在命令行中不起作用php artisan api:routes

我收到错误

[Symfony\Component\Console\Exception\CommandNotFoundException]  
  Command "api:routes" is not defined.                            
  Did you mean this?                                              
      api:docs  

我错过了什么吗?如果有帮助,还使用 ​​HTTP Basic 吗?

4

3 回答 3

5

在 Dingo Documentation -> Creating API Endpoints 部分中,您可以找到这句话:

“如果你使用 Laravel 5.1,你可以使用 Artisan 查看已注册的路线。

$ php artisan api:routes

"

如果你也跑

$ php artisan list

只有 api:docs 可用 - 缺少 api:routes。

这意味着该命令在 Lumen 中不起作用。

于 2016-07-26T18:35:51.543 回答
0

作曲家需要jakubkratina/lumen-dingo-route-list

在中添加以下代码 app/Console/Kernel.php

    protected $commands = [
        \JK\Dingo\Api\Console\Commands\RouteListCommand::class
    ];
于 2019-04-24T05:02:14.283 回答
-1

默认情况下,如文档中所示,lumen 不附带api:routes. 但是你可以使用jakubkratina的 lumen-dingo-route-list。它将增加route:list您的工匠。

顺便说一句,我会做一些调整以使其正常工作:

首先,将反弹包含在注册中

    protected $commands = [
        \JK\Dingo\Api\Console\Commands\RouteListCommand::class
    ];

最后,编辑vendor/jakubkratina/lumen-dingo-route-list/src/RouteListCommand.php并添加以下代码:

public function handle()
{
    return $this->fire();
}
于 2017-10-08T19:57:28.340 回答