docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api
uk/docs/api/rest-bundle/change_log/README.md
новий файл +11
−0
Історія змін
<include>(1.3.md)
<include>(latest.md)
<include>(1.1.md)
<include>(1.0.md)
Код і теги релізів — на GitHub.
uk/docs/api/rest-bundle/change_log/1.3.md
новий файл +23
−0
Версія 1.3 (ще не випущена)
Тегу ще немає: зміни підготовлені, але ще не випущені.
Ключові зміни
- REST-виклики виконуються через
RpcExecutorJsonRpcBundle: помилки проходять черезrpc.error, а після успішного виклику наkernel.terminateгенеруєтьсяrpc.post_response— інвалідація#[RPC\CacheRelation]і post-response лістенери працюють і для REST. - Маршрути реєструються через
IApiRouteImport(RestRouteImport): REST працює поруч з іншими адаптерами, наприклад mcp-bundle. - Приведення типів значень шляху, query і форми до
int,float,bool,nullза сигнатурою методу; змінні шляху документуються схемою параметра. - Переклад документації OpenAPI і Postman за
Accept-Language. - Мапінг помилок:
404для невідомого RPC-методу,422дляConstraintsImposedException, HTTP-коди прикладних помилок зберігаються;RestApplicationExceptionзнову завантажується.
Що врахувати
- Видалено
Ufo\RestBundle\Routing\RestYamlFileLoader. Застосункам, що лише імпортуютьconfig/router.yaml, нічого змінювати не треба; код, що успадковував loader, має реалізуватиIApiRouteImport. - Лістенери
rpc.post_responseтепер виконуються і після REST-викликів — перевірте ті, що розраховували лише на RPC. - Прикладні помилки з HTTP-кодом повертають цей код замість
400. - Запити, що падали з
400через рядкові значення для параметрівint,float,bool, тепер виконуються. - Якщо ви створюєте класи вручну:
RestEntryPointController::rest()приймаєRpcExecutorзамістьRpcRequestHandler,OpenApiSpecBuilder::buildOperation()має новий необов'язковий аргумент?string $description.
Зміни оточення
ufo-tech/json-rpc-bundle^10.4.2.
uk/docs/api/rest-bundle/change_log/latest.md
новий файл +1
−0
<include>(1.2.md)
uk/docs/api/rest-bundle/change_log/1.2.md
новий файл +18
−0
Версія 1.2
Тег 1.2.0, 2026-10-16.
Ключові зміни
- Підтримка Symfony 8:
^7.2|^8.0. - Колекція Postman будується на
AbstractPostmanAdapterJsonRpcBundle: назваREST: <project_name>, для групи, відмінної відgeneral, — із суфіксом[група]. composer testіmake testзапускають PHPUnit.
Що врахувати
- Інструменти, що шукають колекцію Postman за назвою, побачать нову назву.
Зміни оточення
ufo-tech/json-rpc-bundle^10.2.3.- Symfony ^7.2 або ^8.0.
uk/docs/api/rest-bundle/change_log/1.1.md
новий файл +21
−0
Версія 1.1
Тег 1.1.0, 2026-10-15.
Ключові зміни
- Окремий REST-вхід для кожної групи API (
defaults: { api_group: ... }) з власними методами, версіями, документацією й провайдером токенів. - Назви маршрутів з префіксом групи (
internal_ufo_rest_doc); старі назви лишаються псевдонімами дляgeneral. 405замість404для неправильного HTTP-методу,HEADдляGET-маршрутів,400для некоректного JSON-тіла.- Порядок джерел параметрів: змінні шляху, query, поля форми, JSON-тіло.
Що врахувати
- Генеруйте URL за новими назвами маршрутів або користуйтеся псевдонімами групи
general. - Клієнти з некоректним JSON-тілом отримують
400, з неправильним HTTP-методом —405. - З
x-ufo.environmentсервера OpenAPI прибраноfromCache, методRestServiceMap::isFromCache()видалено.
Зміни оточення
- PHP ^8.4.
ufo-tech/json-rpc-bundle^10.2.
uk/docs/api/rest-bundle/change_log/1.0.md
новий файл +15
−0
Версія 1.0
Перший реліз, 2026-02-17. Тегу немає: версію задано в composer.json (1.0.0).
Ключові зміни
- REST-маршрути з атрибута Symfony
#[Route]на RPC-процедурах. - Один вхід, що імпортується з
config/router.yamlбандла, за замовчуванням/rest. - OpenAPI 3.1 (
GET /rest) і Postman (GET /rest/postman). - Помилки у форматі RFC 9457.
- Версії API під
/v2/....
Зміни оточення
- PHP ^8.3, Symfony ^7.2,
ufo-tech/json-rpc-bundle^10.0,cebe/php-openapi^1.8.