BRD Widget 8.7.1 Используемые методы
Направление работ: Widget Код раздела: 8.7.1 Раздел: Общие работы > Архитектура и инфраструктура > Используемые методы Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 21.07.26
1. Назначение
Раздел описывает, как виджет вызывает методы бэкенда: через API Gateway по схеме RPC-прокси, с авторизацией запросов токеном и автоматическим обновлением токена.
Документ описывает клиентскую схему вызова методов и авторизации запросов. Контракты и бизнес-логика методов — на стороне бэкенда (Back 6).
Раздел зависит от Back: 6.4 Открытое API.
2. Ключевые понятия
API Gateway — шлюз, через который виджет обращается к бэкенду.
RPC-метод — вызов вида service/method, проксируемый на шлюз.
Токен доступа и обновление токена — авторизация запросов и автоматическое обновление токена при его истечении.
3. Scope
Входит
S1: Вызов методов бэкенда через RPC-прокси
S2: Авторизация запросов и обновление токена
S3: Выделенные методы авторизации и конфигурации виджета
Не входит
- Widget: 8.7.2 Общие работы > Архитектура и инфраструктура > Оформление ошибок
- Back: 6.4 контракты и бизнес-логика методов
4. BR
Указаны в пункте 4 раздела Back: 6.4 Открытое API.
5. Функциональные требования (UC + FR)
FR — functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: #FR8.7.1-1 | Виджет вызывает метод бэкенда | Виджет вызывает методы бэкенда через прокси вида rpc/{service}/{method} на API Gateway и возвращает результат в едином формате (признак успеха, тело ответа, метаданные). | 1 | ||
| S2: #FR8.7.1-2 | Запрос требует авторизации | Прокси подставляет токен доступа из cookie в запрос; при истечении токена (ответ 401) выполняет обновление токена и повторяет запрос. | 1 | ||
| S3: #FR8.7.1-3 | Виджет использует выделенные методы | Для авторизации используются выделенные методы (вход, выход, регистрация, обновление токена, восстановление и сброс пароля, аккаунт), для конфигурации — метод получения конфигурации виджета по идентификатору. | 2 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус |
|---|---|---|---|---|
| #OQ8.7.1-1 | Код | В расчёте слотов виджет использует временный обходной путь: cityId подставляется нулевым UUID, так как метод GetBasesWidget не возвращает cityId (в коде помечено TODO(backend)). Подтвердить контракт метода и убрать обходной путь. \ widgets/booking/steps/StepPrice.vue:327-345 | Разработка | Open |