Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Symfony bundle for yoanm/jsonrpc-http-server-openapi-doc-sdk
- Symfony v3/4 - PHP >=7.1 :
^v0.X
- Symfony v4/5 - PHP >=7.2 :
^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