adgoal/symfony-jsonrpc-http-server-doc

Symfony bundle for easy JSON-RPC server documentation

v0.3.1 2020-03-27 16:27 UTC

README

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 documentation

Symfony bundle for yoanm/jsonrpc-server-doc-sdk

See adgoal/symfony-jsonrpc-params-sf-constraints-doc for params documentation generation.

Availble formats

How to use

Once configured, your project is ready to handle HTTP GET request on /doc/{?filename} endpoint.

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],
        ...
    ];
  • Add the following in your routing configuration :

    # config/routes.yaml
    json-rpc-endpoint:
      resource: '@JsonRpcHttpServerBundle/Resources/config/routing/endpoint.xml'
    
    json-rpc-endpoint-doc:
      resource: '@JsonRpcHttpServerDocBundle/Resources/config/routing/endpoint.xml'
  • Add the following in your configuration :

    # config/config.yaml
    framework:
      secret: '%env(APP_SECRET)%'
    
    json_rpc_http_server: ~
    
    json_rpc_http_server_doc: ~
    # Or the following in case you want to customize endpoint path
    #json_rpc_http_server_doc:
    #  endpoint: '/my-custom-doc-endpoint' # Default to '/doc'
  • Register JSON-RPC methods as described on adgoal/symfony-jsonrpc-http-server documentation.

  • Query your project at /doc endpoint and you will have a json documentation of your server.

Contributing

See contributing note