Прошло некоторое время с момента моего последнего поста летом, когда я закончил Makers Academy ... С тех пор мне посчастливилось получить работу своей мечты в качестве дипломированного инженера-программиста в ThoughtWorks и недавно вернулся с интенсивной программы обучения в Китае. За последние несколько месяцев я погрузился в восхитительный мир Java, но, к сожалению, не написал об этом!
Сейчас я возвращаюсь, чтобы еженедельно публиковать в блоге сообщения о своих знаниях. Их цель - поделиться некоторыми новыми вещами, которые я узнал (или переучил), чтобы улучшить свои знания, в надежде, что эта серия блогов может помочь другим.
Начнем с этого поста о выполнении веб-запросов API в веб-приложениях на JavaScript.
Краткое описание клиент-серверной модели
Сервер: обслуживает контент.
Клиент: запрашивает сервер.
Протокол HTTP: соглашение о том, как серверная и клиентская стороны поймут сообщение.
API: (интерфейс прикладного программирования) обеспечивает взаимодействие между программным обеспечением и другими функциями.
В веб-разработке API обычно представляет собой набор функций кода (например, методы, свойства, события и URL-адреса), которые разработчик может использовать в своих приложениях для взаимодействия с компонентами веб-браузера пользователя или другими программное обеспечение / оборудование на компьютере пользователя или сторонние веб-сайты и службы. API - Глоссарий MDN
Запросы API из браузера
Когда его использовать? Когда вам не нужно обрабатывать какие-либо данные, но вы хотите отображать данные из запросов API в браузере.
Каковы преимущества? Вы можете работать напрямую с объектами JavaScript и JSON, не беспокоясь о создании серверной части.
В чем заключаются компромиссы? Поскольку внутреннего сервера нет, конечная точка API невозможна. Наличие конечной точки может быть полезно для написания тестов и создания собственных маршрутов для вашего приложения.
Ресурсы: В своих тестах я использовал Jest, который, по моему мнению, является наиболее простой средой тестирования для использования с четкими инструкциями по интеграции Babel для ES6. При работе с объектами JSON также стоит использовать форматировщик JSON.
Пример: Пример одностраничного приложения, которое выполняет GET-запрос к MVLA для отображения конкретной информации о транспортном средстве.
Запросы API от узлового сервера
Когда его использовать? Когда вам нужно обрабатывать данные и / или вам нужна конечная точка API, а также отображать данные из запросов API в браузере.
Каковы преимущества? Вы можете создать свою собственную конечную точку API.
Каковы компромиссы? Когда я впервые работал с Express-приложением, я немного запутался с Express JS router и Request Promise. Убедитесь, что вам действительно нужен сервер, так как настройка, особенно с ES6, временами может быть сложной. Если вам нужна только конечная точка API и никакая обработка данных, возможно, вам удастся обойтись с фиктивной конечной точкой, такой как Пасека.
Ресурсы: если вы торопитесь, вы можете использовать Экспресс-генератор приложений, чтобы создать приложение за считанные минуты (а может быть, и секунды). Срочная маршрутная документация здесь. Заглушка для JS с Sinon JS.
Пример: простой сервер Node Express, который создает несколько маршрутов для банковских счетов с жестко заданными объектами JSON.
Есть комментарии / отзывы / советы? Пожалуйста, поделитесь ими ниже, поскольку цель блога - научиться. На этом пока все!