docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api
uk/docs/api/rest-bundle/config.md
новий файл +54
−0
1
+
# Налаштування
2
+
3
+
Власного дерева конфігурації бандл не має: REST-входи задаються файлами маршрутів, а решта береться з налаштувань JsonRpcBundle `ufo_json_rpc` ([Налаштування бандлу](/docs/api/json-rpc-bundle/config)).
4
+
5
+
## Маршрути
6
+
7
+
Кожен REST-вхід — окремий імпорт `config/router.yaml` бандла:
8
+
9
+
```yaml
10
+
# config/routes/ufo_rest_api.yaml
11
+
ufo_rest_api:
12
+
resource: ../../vendor/ufo-tech/rest-bundle/config/router.yaml
13
+
prefix: /rest
14
+
trailing_slash_on_root: false
15
+
```
16
+
17
+
| Ключ імпорту | Що задає |
18
+
| --- | --- |
19
+
| `prefix` | Адреса входу; документація — за самим префіксом, методи — під ним |
20
+
| `defaults: { api_group: <група> }` | [Група API](/docs/api/json-rpc-bundle/functionality/groups) входу; без нього — `general` |
21
+
| `name_prefix` | Додатковий префікс назв маршрутів, якщо одна група імпортується двічі |
22
+
| `trailing_slash_on_root` | `false`, щоб документація відповідала за `/rest`, а не `/rest/` |
23
+
24
+
Подробиці — у розділі [Маршрутизація](/docs/api/rest-bundle/routing).
25
+
26
+
## Що використовується з `ufo_json_rpc`
27
+
28
+
| Параметр | Для чого в REST |
29
+
| --- | --- |
30
+
| `security.protected_api` | Перевіряти токен для REST-викликів |
31
+
| `security.protected_doc` | Перевіряти токен для OpenAPI і Postman |
32
+
| `security.token_name` | Назва заголовка з токеном |
33
+
| `security.clients_tokens`, `security.providers` | Дійсні токени, окремо для груп API |
34
+
| `docs.project_name`, `docs.project_description` | `info.title` і `info.description` в OpenAPI, назва колекції Postman |
35
+
| `translations.paths` | Додаткові теки з перекладами назв і описів методів (з 1.3) |
36
+
37
+
```yaml
38
+
# config/packages/ufo_json_rpc.yaml
39
+
ufo_json_rpc:
40
+
security:
41
+
protected_api: true
42
+
protected_doc: false
43
+
token_name: 'Ufo-RPC-Token'
44
+
clients_tokens:
45
+
- '%env(resolve:UFO_API_TOKEN)%'
46
+
47
+
docs:
48
+
project_name: 'My Project'
49
+
project_description: 'Public API'
50
+
```
51
+
52
+
Зміни в цих параметрах однаково діють на JSON-RPC і REST. Окремо налаштувати REST, наприклад відкрити документацію REST, але закрити RPC, не можна.
53
+
54
+
Як працюють токени для REST — на сторінці [Безпека](/docs/api/rest-bundle/security).