Прошло некоторое время с момента моего последнего поста летом, когда я закончил 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.

Есть комментарии / отзывы / советы? Пожалуйста, поделитесь ими ниже, поскольку цель блога - научиться. На этом пока все!