9. Что нужно, чтобы связать REST API и форму на Vue? 🦧
Этап 1. Настраиваем клиент на Vue для отправки запросов
- Напиши
GET-запрос
из клиента на сервер (вспоминаем fetch), в котором ты будешь запрашиватьвсе
вопросы (начнём с простого) - Теперь напиши GET-запрос, который будет запрашивать только
один
вопрос (выбираем его по id)
Этап 2. Строим REST API на Flask
- Уложи в своей головушке, как строится API в принципе (там будет мощное видео)
- После выпуска об API тебе не сложно будет понять, как построить API стандарта
REST
- Установи себе FastAPI. В рамках проекта я буду показывать примеры именно на этом простом, минималистичном фреймворке, ведь именно FastAPI идеально подходит для быстрой постройки API
- Теперь наша задача написать
ответы
на сервере. Для этого нам как раз и понадобится FastAPI - Первым делом мы создаём
эндпоинт
(путь/обработчик на сервере) для приёма GET-запроса навсе ответы
- Вторым делом - эндпоинт для ответа на отдельный вопрос (по id)
- Сначала отправляем на клиент какие-то тестовые данные. Например, такой ответ отправляем для одного вопроса:
json
{
"question": "What is the capital of France?",
"id": 1
}
1
2
3
4
2
3
4
- А такой - для всех:
json
{
"question": "What is the capital of France?",
"id": 10
}
1
2
3
4
2
3
4
Этап 3. Связываем API с MongoDB, чтобы сохранить и делиться зашифрованными вопросами
- Когда API заработает и наш клиент на Vue начнёт принимать данные, наша задача - заняться отправкой
настоящих
данных, пусть пока и зашифрованных - Для простоты переносим зашифрованные вопросы из JSON в Python (у нас получится массив с объектами)
- Далее отправляем на клиент полный массив (все вопросы) или выборочный вопрос (по id)
- Проверяем, чтобы клиент получил вопросы
Этап 4. Выводим зашифрованные вопросы на Vue
- Теперь дело за малым: взять вопросы да и
вывести их
в форму на Vue - Правда, на этом этапе тоже могут возникнуть трудности. Если что, я помогу