yoanm/symfony-jsonrpc-http-server-doc

Symfony bundle for easy JSON-RPC server documentation

v1.1.0 2023-04-10 11:25 UTC

README

License Code size Dependabot Status

Scrutinizer Build Status Scrutinizer Code Quality Codacy Badge

CI codecov 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 yoanm/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 yoanm/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