mako/open-api

根据OpenAPI规范和代码中的OpenAPI规范生成路由

2.2.0 2024-01-25 21:34 UTC

README

Static analysis

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'