yoanm/symfony-jsonrpc-http-server-openapi-doc

Symfony 扩展包,用于轻松创建 JSON-RPC 服务器 OpenAPI 3.0.0 文档

v1.0.1 2020-07-09 11:44 UTC

This package is auto-updated.

Last update: 2024-09-09 20:56:03 UTC


README

License Code size Dependabot Status

Scrutinizer Build Status Scrutinizer Code Quality Codacy Badge

CI codecov Symfony Versions

Latest Stable Version Packagist PHP version

Symfony 扩展包,用于轻松创建 JSON-RPC 服务器 OpenAPI 3.0.0 文档

Symfony 扩展包,用于 yoanm/jsonrpc-http-server-openapi-doc-sdk

版本

  • Symfony v3/4 - PHP >=7.1 : ^v0.X
  • Symfony v4/5 - PHP >=7.2 : ^v1.0

使用方法

配置完成后,您的项目即可处理在 /doc/openapi.json 端点上的 HTTP GET 请求。结果将是一个兼容 OpenAPI 的文件。

下面是如何配置它的示例。

配置

Behat 演示应用程序配置文件夹 可以作为示例使用。

  • 在您的 config/bundles.php 文件中添加这些扩展包

    // config/bundles.php
    return [
        ...
        Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
        Yoanm\SymfonyJsonRpcHttpServer\JsonRpcHttpServerBundle::class => ['all' => true],
        Yoanm\SymfonyJsonRpcHttpServerDoc\JsonRpcHttpServerDocBundle::class => ['all' => true],
        Yoanm\SymfonyJsonRpcHttpServerOpenAPIDoc\JsonRpcHttpServerOpenAPIDocBundle::class => ['all' => true],
        ...
    ];
  • 按照 yoanm/symfony-jsonrpc-http-server 文档中的说明配置 yoanm/symfony-jsonrpc-http-server

  • 按照 yoanm/symfony-jsonrpc-http-server-doc 文档中的说明配置 yoanm/symfony-jsonrpc-http-server-doc

  • /doc/openapi.json 端点查询您的项目,您将获得服务器的 OpenAPI JSON 文档文件。

事件

您可以通过监听 json_rpc_http_server_openapi_doc.array_created 事件来增强生成的文档。

下面是监听服务配置的示例

  method_doc_created.listener:
    class: Full\Namespace\DocCreatedListener # <-- replace by your class name
    tags:
      - name: 'kernel.event_listener'
        event: 'json_rpc_http_server_openapi_doc.array_created'
        method: 'enhanceMethodDoc' # <-- replace by your method name

您将接收到一个类型为 OpenAPIDocCreatedEvent 的事件。

您可以从 Behat 的 DocCreatedListener 中获取示例

贡献

参见 贡献说明