ufo-tech / json-rpc-bundle
The bundle for easy using json-rpc api on your project
Package info
github.com/UFO-Tech/json-rpc-bundle
Type:symfony-bundle
pkg:composer/ufo-tech/json-rpc-bundle
Requires
- php: >=8.4
- composer-runtime-api: *
- ext-dom: *
- ext-sysvsem: *
- doctrine/persistence: >=3.1
- nyholm/psr7: *
- phpdocumentor/reflection-docblock: >=5.3
- psr/http-client: *
- psx/openrpc: v0.1.1
- ramsey/uuid: ^4
- symfony/console: ^7.2|^8.0
- symfony/expression-language: >=6.3
- symfony/framework-bundle: ^7.2|^8.0
- symfony/http-client: ^7.2|^8.0
- symfony/http-kernel: ^7.2|^8.0
- symfony/lock: ^7.2|^8.0
- symfony/messenger: ^7.2|^8.0
- symfony/process: ^7.2|^8.0
- symfony/security-bundle: ^7.2|^8.0
- symfony/serializer: ^7.2|^8.0
- symfony/uid: ^7.2|^8.0
- symfony/validator: ^7.2|^8.0
- symfony/yaml: ^7.2|^8.0
- ufo-tech/dto-transformer: ^3.1
- ufo-tech/packages: ^1
- ufo-tech/rpc-exceptions: ^2
- ufo-tech/rpc-objects: ^3.9.2
Requires (Dev)
- phpunit/phpunit: ^11.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- 10.4.4
- 10.4.3
- 10.4.2
- 10.4.1
- 10.4.0
- 10.3.1
- 10.3.0
- 10.2.3
- 10.2.2
- 10.2.1
- 10.2.0
- 10.1.1-rc
- 10.1.0
- 10.1.0-rc
- 10.0.6
- 10.0.5
- 10.0.4
- 10.0.3
- 10.0.2
- 10.0.1
- 10.0.0
- 9.2.1
- 9.2.0
- 9.1.5
- 9.1.4
- 9.1.3
- 9.1.2
- 9.1.1
- 9.1.0
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.1.14
- 8.1.13
- 8.1.12
- 8.1.11
- 8.1.10
- 8.1.9
- 8.1.8
- 8.1.7
- 8.1.6
- 8.1.5
- 8.1.4
- 8.1.3
- 8.1.2
- 8.1.1
- 8.1.0
- 8.0.5
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.6.0
- 7.5.1
- 7.5.0
- 7.4.2
- 7.4.1
- 7.4.0
- 7.3.10
- 7.2.0
- 7.1.1
- 7.0.0
- 6.4.0
- 5.2
- 4.5.2
This package is auto-updated.
Last update: 2026-10-19 17:38:51 UTC
README
JSON-RPC 2.0 server for Symfony 7.2+ / 8 (PHP 8.4+).
Creating RPC services for service-oriented architecture on Symfony has never been so easy.
composer require ufo-tech/json-rpc-bundle
Key features
- Any service becomes an API. Implement
IRpcServiceand its public methods are JSON-RPC 2.0 methods on one endpoint — 4.5 - Self-documenting.
GET /rpcreturns OpenRPC,GET /rpc/postmana Postman collection; schemas come from native types, PHPDoc, DTOs, enums and validation constraints; titles and descriptions are translated byAccept-Language(also per API group) and cached withETag— 6.4, 7.3, 9.0, 10.3, 10.4 - API versions side by side.
/rpc,/rpc/v2with#[RPC\Info('user', version: 2, removedMethods: [...])]; each version inherits the previous one — 10.0 - Several APIs in one application. Public, internal and BFF entry points via
#[RPC\APIGroups], each with its own methods, versions, docs and token validation — 10.2 - Batch with dependencies. Pass one call's result into another with
@FROM:<id>(<field>); run items inline (fast) or in parallel child processes with a limit — 4.5, 10.3 - Notifications and callbacks. Requests without
idget204and run after the response;$rpc.callbackposts the result to a webhook — 9.2, 10.1, 10.3 - Validation. Symfony constraints on parameters with
#[RPC\Assertions], one error listing every invalid parameter — 5.2, 10.1 - Automatic parameter conversion. DTOs, enums, dates, UUIDs and Doctrine entities by id from the method signature — 8.0, 10.0
- Caching and locks.
#[RPC\Cache]per parameters,#[RPC\CacheRelation]invalidation,#[RPC\Lock]against concurrent calls, shared cache pool viacache.pool— 6.4, 7.4, 7.6, 10.3 - Async and security. Symfony Messenger transports, one token model for HTTP, CLI and async, event hooks around every call — 7.0, 8.0, 9.1
Release notes
All versions with what was added and how to use it: releases. Latest: 10.4.
Documentation
Installation, configuration and usage: JsonRpcBundle documentation on ufo-tech.space.
UFO-Tech
ufo-tech.space is the home of UFO-Tech libraries: documentation and integration guides, articles on PHP, Symfony, JSON-RPC, APIs and service architecture, practical notes and case studies.