启动服务
1. Docker启动
进入项目根目录,运行下面的docker命令启动服务
docker run -v $PWD/vendor/astral/php-serialize/src/OpenApi/Frankenphp/Caddyfile:/etc/frankenphp/Caddyfile -v $PWD:/app -p 8089:80 dunglas/frankenphp
访问 http://127.0.0.1:8089
展示OpenApi JSON文档
访问 http://127.0.0.1:8089/docs
展示UI文档

2. 框架内启动
输出 OpenApi Json
use Astral\Serialize\OpenApi;
echo (new OpenApi())->handleByFolders()->toString();
以 Laravel 为例
2.1 创建一个路由用于访问 JSON 文档
use Illuminate\Support\Facades\Route;
use Astral\Serialize\OpenApi;
Route::get('/openapi.json', function () {
header('Content-Type: application/json');
echo (new OpenApi())->handleByFolders()->toString();
});
2.2 OpenApi Json 访问路径
http://your-domain.com/openapi.json
2.3 接入UI
2.3.1 接入 Swagger UI 展示页面
将以下 HTML 保存为 public/swagger.html:
<!DOCTYPE html>
<html>
<head>
<title>API 文档</title>
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist/swagger-ui.css" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script>
<script>
SwaggerUIBundle({
url: "/openapi.json",
dom_id: "#swagger-ui"
});
</script>
</body>
</html>
访问地址:http://your-domain.com/swagger.html
2.3.2 接入 Apifox
Postman
Apipost
等客户端工具
在客户端工具创建项目后,选择导入
,输入 http://your-domain.com/openapi.json
最后更新于