Skip to content

Adgoal/symfony-jsonrpc-http-server-openapi-doc

 
 

Repository files navigation

Symfony JSON-RPC Http server OpenAPI documentation

License Code size Dependabot Status

Scrutinizer Build Status Scrutinizer Code Quality Code Coverage

Travis Build Status Travis Symfony Versions

Latest Stable Version Packagist PHP version

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  

Contributing

See contributing note

About

Symfony bundle for easy JSON-RPC server OpenAPI 3.0.0 documentation

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 65.0%
  • Gherkin 27.5%
  • Makefile 7.5%