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