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

Symfony 扩展包,用于轻松生成 JSON-RPC 服务器 Swagger 2.0 文档

v2.0.0 2024-03-29 14:53 UTC

This package is auto-updated.

Last update: 2024-08-29 16:38:30 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 服务器 Swagger 2.0 文档

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

版本

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

使用方法

配置完成后,您的项目即可处理 /doc/swagger.json 端点的 HTTP GET 请求。结果将生成一个与 Swagger 兼容的文件。

下面是配置方法。

配置

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\SymfonyJsonRpcHttpServerSwaggerDoc\JsonRpcHttpServerSwaggerDocBundle::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/swagger.json 端点查询您的项目,您将获得服务器 Swagger JSON 文档文件。

事件

您可以通过监听 json_rpc_http_server_swagger_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_swagger_doc.array_created'
        method: 'enhanceMethodDoc' # <-- replace by your method name

您将收到一个 SwaggerDocCreatedEvent 类型的事件。

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

贡献

请参阅 贡献说明