yoanm / symfony-jsonrpc-http-server-openapi-doc
Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Installs: 25 541
Dependents: 0
Suggesters: 2
Security: 0
Stars: 1
Watchers: 3
Forks: 3
Open Issues: 1
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 bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation
Symfony bundle for yoanm/jsonrpc-http-server-openapi-doc-sdk
Versions
- Symfony v3/4 - PHP >=7.1 :
^v0.X
- Symfony v4/5 - PHP >=7.2 :
^v1.0
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
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.
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