adgoal / symfony-jsonrpc-http-server-openapi-doc
Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Requires
- php: >=7.3
- adgoal/jsonrpc-http-server-openapi-doc-sdk: ^0.3
- adgoal/symfony-jsonrpc-http-server-doc: ^0.3
- symfony/dependency-injection: ^4.0 || ^5.0
- symfony/http-kernel: ^4.0 || ^5.0
- yoanm/jsonrpc-server-doc-sdk: ^0.2
Requires (Dev)
- behat/behat: ~3.0
- matthiasnoback/symfony-config-test: ^4.0 || ^5.0
- matthiasnoback/symfony-dependency-injection-test: ^4.0 || ^5.0
- phpunit/phpunit: ^7.0 || ^8.0
- squizlabs/php_codesniffer: 3.*
- symfony/framework-bundle: ^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
This package is auto-updated.
Last update: 2024-11-29 06:16:12 UTC
README
Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Symfony bundle for adgoal/jsonrpc-http-server-openapi-doc-sdk
How to use
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.
Configuration
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
adgoal/symfony-jsonrpc-http-server
as described on adgoal/symfony-jsonrpc-http-server documentation. -
Configure
adgoal/symfony-jsonrpc-http-server-doc
as described on adgoal/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.
Event
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