Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
MIT License
Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Symfony bundle for yoanm/jsonrpc-http-server-openapi-doc-sdk
^v0.X
^v1.0
Once configured, your project is ready to handle HTTP GET
request on /doc/openapi.json
endpoint. Result will be a openapi compatible file.
See below how to configure it.
Behat demo app configuration folders can be used as examples.
Add the bundles in your config/bundles.php file:
// 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],
...
];
Configure yoanm/symfony-jsonrpc-http-server
as described on yoanm/symfony-jsonrpc-http-server documentation.
Configure yoanm/symfony-jsonrpc-http-server-doc
as described on yoanm/symfony-jsonrpc-http-server-doc documentation.
Query your project at /doc/openapi.json
endpoint and you will have a OpenAPI json documentation file of your server.
You are able to enhance resulting documentation by listening on json_rpc_http_server_openapi_doc.array_created
event.
See below an example of listener service configuration:
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
You will receive an event of type OpenAPIDocCreatedEvent
.
You can take example on Behat DocCreatedListener