Skip to content

Symfony bundle for easy JSON-RPC server documentation

License

Notifications You must be signed in to change notification settings

yoanm/symfony-jsonrpc-http-server-doc

Repository files navigation

Symfony JSON-RPC server documentation

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