PHPackages                             timiki/rpc-server-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. timiki/rpc-server-bundle

ActiveSymfony-bundle[API Development](/categories/api)

timiki/rpc-server-bundle
========================

JSON-RPC server bundle for symfony

7.0.0(5mo ago)2086.3k↓20.3%7[3 PRs](https://github.com/timiki/rpc-server-bundle/pulls)1MITPHPPHP &gt;=8.2CI passing

Since Mar 9Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/timiki/rpc-server-bundle)[ Packagist](https://packagist.org/packages/timiki/rpc-server-bundle)[ RSS](/packages/timiki-rpc-server-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (22)Versions (66)Used By (1)

JSON-RPC Server bundle for symfony
==================================

[](#json-rpc-server-bundle-for-symfony)

[![Build Status](https://camo.githubusercontent.com/1633e5301b44ed8cb0c7ff44d7428889eac331bbd6a552adf2b5ea86d089ce05/68747470733a2f2f7472617669732d63692e636f6d2f74696d696b692f7270632d7365727665722d62756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/timiki/rpc-server-bundle)

JSON-RPC is a remote procedure call protocol encoded in JSON. It is a very simple protocol (and very similar to XML-RPC) , defining only a handful of data types and commands. JSON-RPC allows for notifications (data sent to the server that does not require a response) and for multiple calls to be sent to the server which may be answered out of order.

[Wikipedia](https://wikipedia.org/wiki/JSON-RPC) | [Specification](http://www.jsonrpc.org/specification)

Install
-------

[](#install)

Symfony &gt;= 7.0 || 8.0

```
composer require timiki/rpc-server-bundle "^7.0"
```

Symfony &gt;= 6.4 || 7.0

```
composer require timiki/rpc-server-bundle "^6.4"
```

Symfony &gt;= 6.0

```
composer require timiki/rpc-server-bundle "^6.0"
```

### Deprecated versions

[](#deprecated-versions)

Symfony &gt;= 5.0 use version ^5.0

```
composer require timiki/rpc-server-bundle "^5.0"
```

Symfony &gt;= 4.3 use version ^4.1

```
composer require timiki/rpc-server-bundle "^4.1"
```

Symfony &lt; 4.3 use version ^4.0

```
composer require timiki/rpc-server-bundle "^4.0"
```

Configs
-------

[](#configs)

```
rpc_server:

    # Mapping configs

    # Default mapping
    #   mapping: '%kernel.project_dir%/src/Method'
    #
    # Multi dir mapping
    #   mapping:
    #   - '%kernel.project_dir%/src/Method1'
    #   - '%kernel.project_dir%/src/Method2'
    #
    # Multi handler|dir mapping
    #   mapping:
    #    v1:
    #       - '%kernel.project_dir%/src/Method/V1'
    #    v2:
    #       - '%kernel.project_dir%/src/Method/V2'
    #

    mapping: '%kernel.project_dir%/src/Method'

    # Cache pool name

    cache: null

    # Serializer service, must be instanced of Timiki\Bundle\RpcServerBundle\Serializer\SerializerInterface
    # By default use Timiki\Bundle\RpcServerBundle\Serializer\BaseSerializer

    serializer: null

    parameters:

        # Allow extra params in JSON request
        allow_extra_params: false
```

Add methods dir to exclude from autowire

```
    App\:
        resource: '../src/*'
        exclude: '../src/{Method}'
```

Controller
----------

[](#controller)

Default:

You can use you own controller for JSON-RPC request. For example:

```
