Налаштування

← Налаштування

Ashterix

docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api

uk/docs/api/rest-bundle/config.md новий файл +54 −0

Налаштування

Власного дерева конфігурації бандл не має: REST-входи задаються файлами маршрутів, а решта береться з налаштувань JsonRpcBundle ufo_json_rpc (Налаштування бандлу).

Маршрути

Кожен REST-вхід — окремий імпорт config/router.yaml бандла:

# config/routes/ufo_rest_api.yaml
ufo_rest_api:
    resource: ../../vendor/ufo-tech/rest-bundle/config/router.yaml
    prefix: /rest
    trailing_slash_on_root: false
Ключ імпорту Що задає
prefix Адреса входу; документація — за самим префіксом, методи — під ним
defaults: { api_group: <група> } Група API входу; без нього — general
name_prefix Додатковий префікс назв маршрутів, якщо одна група імпортується двічі
trailing_slash_on_root false, щоб документація відповідала за /rest, а не /rest/

Подробиці — у розділі Маршрутизація.

Що використовується з ufo_json_rpc

Параметр Для чого в REST
security.protected_api Перевіряти токен для REST-викликів
security.protected_doc Перевіряти токен для OpenAPI і Postman
security.token_name Назва заголовка з токеном
security.clients_tokens, security.providers Дійсні токени, окремо для груп API
docs.project_name, docs.project_description info.title і info.description в OpenAPI, назва колекції Postman
translations.paths Додаткові теки з перекладами назв і описів методів (з 1.3)
# config/packages/ufo_json_rpc.yaml
ufo_json_rpc:
    security:
        protected_api: true
        protected_doc: false
        token_name: 'Ufo-RPC-Token'
        clients_tokens:
            - '%env(resolve:UFO_API_TOKEN)%'

    docs:
        project_name: 'My Project'
        project_description: 'Public API'

Зміни в цих параметрах однаково діють на JSON-RPC і REST. Окремо налаштувати REST, наприклад відкрити документацію REST, але закрити RPC, не можна.

Як працюють токени для REST — на сторінці Безпека.