yoanm / symfony-jsonrpc-http-server-openapi-doc
Symfony 扩展包,用于轻松创建 JSON-RPC 服务器 OpenAPI 3.0.0 文档
v1.0.1
2020-07-09 11:44 UTC
Requires
- php: >=7.2
- symfony/config: ^4.0 || ^5.0
- symfony/dependency-injection: ^4.0 || ^5.0
- symfony/event-dispatcher-contracts: ^1.0 || ^2.0
- symfony/http-kernel: ^4.0 || ^5.0
- yoanm/jsonrpc-http-server-openapi-doc-sdk: ^0.2
- yoanm/jsonrpc-server-doc-sdk: ^0.2
- yoanm/symfony-jsonrpc-http-server-doc: ^1.0
Requires (Dev)
- behat/behat: ~3.0
- matthiasnoback/symfony-config-test: ^3.0 || ^4.0
- matthiasnoback/symfony-dependency-injection-test: ^3.0 || ^4.0
- phpunit/phpunit: ^7.0 || ^8.0
- squizlabs/php_codesniffer: 3.*
- symfony/event-dispatcher: ^4.0 || ^5.0
- symfony/framework-bundle: ^4.0 || ^5.0
- symfony/routing: ^4.0 || ^5.0
- yoanm/php-unit-extended: ~1.0
Suggests
- yoanm/symfony-jsonrpc-http-server: Symfony Bundle to convert an HTTP json-rpc request into HTTP json-rpc response
README
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
中获取示例
贡献
参见 贡献说明