无法在l5-swagger中生成API文档

2024-03-04

我开始学习招摇了

我正在尝试做书上所做的同样的事情”使用 Angular 6 和 Laravel 5 进行全栈 Web 开发实践".

输入命令后使用 php-fpm bash "php artisan l5-swagger:generate"

我在 VS Code 终端中遇到此异常:

root@8e6435be9103:/application# php artisan l5-swagger:generate
Regenerating docs
 
ErrorException  : Required @OA\Info() not found
at /application/vendor/zircote/swagger-php/src/Logger.php:39
   35|         $this->log = function ($entry, $type) {
   36|             if ($entry instanceof Exception) {
   37|                 $entry = $entry->getMessage();
 > 39|             trigger_error($entry, $type);
   40|         };
   41|     }
   42|
   43|     /**
 
Exception trace:
 
1   trigger_error("Required @OA\Info() not found")
    /application/vendor/zircote/swagger-php/src/Logger.php:39
 
2   OpenApi\Logger::OpenApi\{closure}("Required @OA\Info() not found")
    /application/vendor/zircote/swagger-php/src/Logger.php:71

当我尝试打开 http://localhost:8081/api/documentation url 时,出现以下错误:

Failed to load API definition.
Fetch errorNot Found http://localhost:8081/docs/api-docs.json

我在 docker 中使用 php-fpm bash。 我的操作系统是 Ubuntu 18.04.3 LTS。

谁能帮我解决这个问题。 谢谢你!!!


运行之前必须在代码中添加一些注释php artisan l5-swagger:generate。首先,转到app/Http/Controllers/Controller.php并在类声明之前添加如下 phpdoc 注释块:

/**
 * @OA\Info(title="My First API", version="0.1")
 */

此注释本身足以解决您所描述的问题,但是如果您执行php artisan l5-swagger:generate您将再次看到以下异常:

 ErrorException  : Required @OA\PathItem() not found

  at /home/nathanael/dev/laravel-projects/laravel-swagger/vendor/zircote/swagger-php/src/Logger.php:39
    35|         $this->log = function ($entry, $type) {
    36|             if ($entry instanceof Exception) {
    37|                 $entry = $entry->getMessage();
    38|             }
  > 39|             trigger_error($entry, $type);
    40|         };
    41|     }
    42| 
    43|     /**

  Exception trace:

  1   trigger_error("Required @OA\PathItem() not found")
      /home/nathanael/dev/laravel-projects/laravel-swagger/vendor/zircote/swagger-php/src/Logger.php:39

  2   OpenApi\Logger::OpenApi\{closure}("Required @OA\PathItem() not found")
      /home/nathanael/dev/laravel-projects/laravel-swagger/vendor/zircote/swagger-php/src/Logger.php:71

  Please use the argument -v to see more details.

这是因为控制器中必须至少有一个带有描述路由的注释的方法。 您可以轻松地在应用程序中创建资源来测试运行php artisan make:controller ProjectsController -r并添加Route::resource('projects', 'ProjectsController') to routes/web.php。 创建控制器后打开它并在index方法之前添加以下phpdoc注释块,例如:

/**
 * @OA\Get(
 *     path="/projects",
 *     @OA\Response(response="200", description="Display a listing of projects.")
 * )
 */

然后,运行php artisan l5-swagger:generate再次,您必须在终端中看到成功消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在l5-swagger中生成API文档 的相关文章

  • MySQL:计算日期/时间之间的差异 - 仅在周一至周五“工作周”期间

    我需要计算开始日期 时间和结束日期 时间之间的差异 但是 我只想在 5 天的工作周内执行此操作 不包括周六 周日 做这个的最好方式是什么 我的想法是 从日期开始 我必须获取星期几 如果是工作日 那么我将添加到累加器中 如果不是 那么我不会添
  • 如何检查 ini_set() 是否在全局 PHP.INI 或我的 PHP 脚本中启用?

    我有一个应用程序安装失败 供应商说我可能禁用了 ini set 我怎样才能检查这个 我对此做了一些研究 结果发现有时 ini set 不会返回 FALSE 而是一个空字符串 gabriel1836 指出的 URL 中提到了这一点 检查它是否
  • Swagger/OpenAPI 注释 V3 - 在 swagger 注释中使用 Enum 值

    我正在使用 Swagger OpenApi V3 注释创建应用程序的 API 描述 从以下依赖项导入
  • 如何使用正则表达式将多个
    标签替换为一个
    标签?

    I want br br 变成 br 正则表达式的模式是什么 注 br 标签可以连续出现两次以上 html preg replace br gt s i br html 这将捕获任何组合 br br or br 它们之间有任意数量或类型的空
  • 使用php将cmyk转rgb

    我正在使用以下脚本将图像保存在文件夹中 但有一张图像显示此消息 图像无法显示 因为它包含错误 我认为问题出在图像上称为 cmyk 和 rgb 的东西 但是当在网上搜索使用 php 将 cmyk 转换为 rgb 的方法时 我找不到如何执行此操
  • Laravel 5.0,env() 在并发请求期间返回 null

    问题是当我尝试使用获取配置变量时env setting or Config get setting 有时会返回 null 出于测试原因 我创建了一条简单的路线 Route get test function env env SETTING
  • php 中的 cpu_get_usage ?

    我创建了一个基准类 允许用户插入例如 timer gt checkpoint 1 检查一些代码的时间 内存消耗等 如果她 他想测试它 她 他必须在代码末尾插入 result timer gt result 这会向公共函数 result 提供
  • 在 PHP 中 POST Base64 编码数据

    我需要使用 cURL 将一些数据 POST 到 PHP 页面 并且该请求包含三个参数 其中两个是常规文本值 一种是Base64编码的文件 我注意到 Base64 值在传输过程中被损坏 这是发送请求的代码 filename img2 jpg
  • Drupal 或 OSCommerce 中的定制产品?

    我看过高低 我想我没有在寻找正确的东西 我想知道 drupal 或 oscommerce 的模块或插件可以让您 构建自己的产品 IE 客户可以访问该网站 并说他想要 PC A 具有 X 容量的 RAM 和 Z 大小的硬盘等 是否有 osco
  • 使用 PhpSpreadsheet PHP 设置单元格边框样式

    我使用 PhpSpreadsheet 来读取或写入 Excel 文件 我想向我的 Excel 添加边框样式 所以我使用了以下代码
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • Zend Framework:检查 Zend View Placeholder 是否已设置

    如何在回显之前检查 Zend View 占位符是否已设置 因为我想在输出之前在它前面添加 I tried echo isset this gt placeholder title this gt placeholder title 但我得到
  • 如何从谷歌地图中的纬度和经度获取地址位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以我有纬度和经度就像44 4647452 and 7 3553838 我需要获得如下地址 米兰 意大利 str 肯尼迪 89 我怎样才能
  • 更新 Bootstrap 缩略图网格 - ajax 请求

    设想 我有一个带有显示国家 地区的 Twitter Bootstrap 缩略图网格的视图 当用户单击一张图像时 它应该在同一网格 屏幕 中显示与该国家 地区相关的城市 技术的 首先 我用国家 地区填充 dataProvider 然后我应该将
  • 合并两个 MYSQL SELECT 查询[重复]

    这个问题在这里已经有答案了 可能的重复 如何将两个 Post Category 表 MYSQL SELECT 查询合并为一个 https stackoverflow com questions 12972130 how to combine
  • CakePHP 与 Bootstrap(来自 Twitter)

    我是 CakePHP 的新手 我想知道一种在与蛋糕结合的布局中使用 Twitter 的 Bootstrap 的方法 我主要关心的是让 Form Helper 继续正常运行 因为我认为它使用预先配置的 CSS 类 如果我更改默认的 css 我
  • PHP Amazon SDK,S3 存储桶访问被拒绝

    我第一次尝试使用 PHP AWS SDK aws aws sdk php 3 19 来使用 S3 我创建了一个存储桶 myfirstbucket jeremyc 我制定了一项政策 Version 2012 10 17 Statement E
  • PHP 在数组内循环

    我怎样才能在一个内部循环array在我的代码中 这是我的脚本的静态版本 val array array value gt Male label gt Male array value gt Female label gt Femal my
  • Laravel - 保存在存储文件夹中的图像不向用户显示

    我有这段代码可以将图像保存在 storage app uploads 文件夹中 image main Image where property id id gt get file request gt file file destinati
  • PHP:使用 UTF-8 的 strpos 和 substr

    假设我有一个很长的 UTF 8 编码字符串 并说我想检测是否 var存在于该字符串中 假设 var始终是简单的字母或 ASCII 字符数字 例如 hello123 我不需要使用mb strpos or iconv strpos正确的 因为只

随机推荐