Полный гайд по JsonRpc Server Bundle. Главы написаны так, чтобы их можно было прочитать сверху вниз при первом знакомстве, а потом возвращаться по отдельности.
| # | Глава | О чём |
|---|---|---|
| 01 | Быстрый старт | Установка, регистрация бандла, первый handler, первый вызов |
| 02 | Методы | #[Rpc\Method], __invoke, возвращаемые типы, batch, notifications, deprecation |
| 03 | Параметры и DTO | Денормализация DTO, #[Rpc\Param], RpcParams, positional vs named, даты |
| 04 | Безопасность и роли | roles, RoleMatch, интеграция с security-core, скрытие имён ролей |
| 05 | Кэширование | #[Rpc\Cache], scope, pools, теги, RpcCacheInvalidator |
| 06 | Rate limiting | #[Rpc\RateLimit], четыре политики, три scope’а, Retry-After |
| 07 | Стриминг | #[Rpc\Stream], NDJSON / SSE / JSON-array, ошибки в середине потока |
| 08 | MCP | Список tools, invoke, форматы (включая TOON), фильтр, transformer |
| 09 | OpenRPC | Экспорт спеки, интеграция с SDK-генераторами |
| 10 | Ошибки | Иерархия исключений, JSON-RPC коды, кастомные серверные ошибки |
| 11 | Наблюдаемость | События, профайлер, PSR-3 логи, Sentry, OpenTelemetry |
| 12 | CLI и maker | debug:rpc, rpc:cache:clear, make:rpc-method |
| 13 | Конфигурация | Каждый YAML-ключ с дефолтами и рекомендациями |
| 14 | Context | Объект Context, request id, propagation |
English version: docs/en/.
composer require knetesin/json-rpc-server — это всегда про бандл.App\… — namespace вашего приложения.yaml — валидная Symfony-конфигурация (кладите в
config/packages/json_rpc_server.yaml).{ "jsonrpc": "2.0", "method": "…", "params": …, "id": 1 }