mako / open-api
根据OpenAPI规范和代码中的OpenAPI规范生成路由
2.2.0
2024-01-25 21:34 UTC
Requires
- php: >=8.1.0
- cebe/php-openapi: ^1.7
- zircote/swagger-php: ^4.5
Requires (Dev)
- mako/framework: ^10.0.0-dev
- phpstan/phpstan: ^1.4.5
README
mako/open-api
包允许您使用属性或文档注释来生成OpenApi规范,并根据规范生成路由。
要求
Mako 10.0或更高版本。
安装
首先,您需要将此包作为项目的依赖项进行安装。
composer require mako/open-api
接下来,您需要将包添加到application.php
配置文件中的packages
配置数组的cli
部分。
'cli' =>
[
mako\openapi\OpenApiPackage::class,
]
最后,用以下内容替换您的routes.php
文件的内容
<?php use mako\openapi\http\routing\Registrar; Registrar::register( $routes, cachedRoutes: __DIR__ . '/openapi.php', openApiSpec: __DIR__ . '/openapi.yml', );
用法
您可以使用像Apicurito这样的工具或使用属性或文档注释来记录代码来构建OpenApi规范。要查看语法,请访问zircote/swagger-php文档。
如果您想根据文档生成规范文件,则可以运行open-api:generate-spec
命令。
要生成用于生产的缓存路由文件,则必须运行open-api:generate-routes
命令。
请注意,您必须将
operationId
参数设置为控制器动作的完全限定方法名(例如,app\controllers\Index::welcome),以便路由生成器能够正常工作。
openapi: 3.0.2
info:
title: Mako
version: 1.0.0
description: Mako example application.
paths:
'/':
summary: Displays a welcome page.
get:
operationId: 'app\controllers\Index::welcome'