L5 - 招摇为什么找不到必需的@SWG \ Info()?

时间:2017-12-04 10:00:30

标签: php laravel-5 swagger

我正在融入我的Laravel5项目招摇:

"darkaonline/l5-swagger": "^5.5"

我有两个项目没有问题,在... / routes / api.php顶部定义了以下代码块

/**
* @SWG\Swagger(
*   basePath="/api",
*   @SWG\Info(
*     title="MyApp API",
*     version="0.2"
*   )
* )
*/

现在有了一个新项目,我在遇到@SWG \ Info()时遇到错误:

 php artisan l5-swagger:generate

如果我将@SWG \ Swagger代码块从routes \ api.php移动到

 ..../app/Http/Controllers/ApiController.php

命令l5-swagger:生成将改为成功。

为什么? Laravel Projects看起来一样。有什么可以防止在routes \ api.php中生成具有SWG \ info的招摇?

2 个答案:

答案 0 :(得分:2)

您已经在库下方安装了这个。

"darkaonline/l5-swagger": "^5.5"

然后将下面的代码放在类控制器下面的父控制器中,如下所示。

/**
 * @SWG\Swagger(
 *   @SWG\Info(
 *     title="Site Title",
 *     version="1.0",
 *     description="Site description",
 *     @SWG\Contact(
 *         email="xyz@xyz.com"
 *     )
 *   )
 * )
 */
class Controller extends BaseController
{
}

答案 1 :(得分:0)

我也遇到了这个问题。

Laravel版本:5 5.7

运行命令后:

composer require zircote/swagger-php:2.*require zircote/swagger-php:2.*

然后添加以下设置.env

SWAGGER_VERSION=2.0

在Config / l5-swagger.php中更改一行

'swagger_version' => env('SWAGGER_VERSION', '2.0'),

问题解决了〜解决了。