gpt4 book ai didi

file - 一个人应该如何从 laravel Swagger ?

转载 作者:行者123 更新时间:2023-12-04 04:05:20 25 4
gpt4 key购买 nike

我正在尝试使用 swagger使用 laravel 自动记录我们的 RESTful API。目标是将 swagger 注释保留在 laravel Controller 中,然后让 swagger 解析注释并生成关联的 .json/.php 文件。理想情况下,我希望 laravel 项目提供 swagger 文件,以便所有内容都保持在同一个引擎盖下并保持同步。

为了实现这一点,我在我的 laravel 项目的根目录(与 public 所在的目录相同)中创建了一个 docs 目录。然后,我将以下路由添加到 routes.php:

Route::get('docs/{page?}', function($page='index.php') {
header('Access-Control-Allow-Origin: *');
$parts = pathinfo($page);
$path = $_SERVER["DOCUMENT_ROOT"] . "/../docs/$page";
if ($parts['extension'] === 'php') {
require($path);
} else {
return file_get_contents($path);
}
});

使用这种方法,我可以将我的 swagger-ui 网站指向 http://mydomain/docs,剩下的就是魔法。

对于所有的 laravel 大师,这是提供这些 swagger 文件的最佳方式吗?我尝试将 docs 目录公开,但这会导致重定向循环。

实现此目的的另一种方法是在我的 Web 服务器配置中创建一个直接指向这些 swagger 文件的虚拟主机,但在这一点上,我宁愿不必进行这种额外的配置。

最佳答案

我为 Laravel 编写了一个包 swaggervel,它使用 swagger-php 自动生成你的 swagger json,使用 redgeoff 的代码提供它,然后使用 swagger-ui 显示它。

只需将以下行添加到 composer.json 中的要求:

“jlapp/swaggervel”:“开发大师”

或者,您可以在 Git 上获取它:https://github.com/slampenny/Swaggervel.git

关于file - 一个人应该如何从 laravel Swagger ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23506655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com