[Udemy] Как разработать HTTP-клиент на Golang (Go) (2020)
Вы когда-нибудь вызывали REST API из своей программы Go? Вы реализовали свой собственный HTTP-клиент или в итоге использовали какую-то из тысячи существующих библиотек? Знаете ли вы, что ваш HTTP-клиент делает в фоновом режиме? В этом курсе мы начнем с нуля! Мы собираемся запомнить, как выглядит базовый HTTP-вызов, изучив объекты запроса и ответа. Мы собираемся написать базовый HTTP-клиент для выполнения HTTP-запросов, а затем использовать его в приложениях.
Какие проблемы у нас есть? Можем ли мы масштабировать наши приложения, следуя этому подходу? Конечно нет!
Вот почему мы создаем клиентскую библиотеку HTTP, которая обеспечивает:
- Быстрые, надежные и безотказные HTTP-соединения.
- Поддержка всех методов HTTP: GET, POST, PUT, DELETE, PATCH и других!
- HTTP-клиент Concurrency-Safe, который можно использовать, не беспокоясь о производительности.
- Управление типами контента и оптимизация.
- Функции моккинга из коробки.
- Чистый интерфейс на случай, если вы хотите провести модульное тестирование своего кода, не полагаясь на функции интеграционного тестирования.
- Надежная реализация, поэтому вам не понадобится какая-либо внешняя зависимость.
- Полностью настраиваемый интерфейс: тайм-ауты, транспортный уровень, собственный HTTP-клиент и множество полезных функций.
- Готовая к производству библиотека!
Если вы хотите интегрировать сторонние REST API в свой код, вам потребуется выполнить HTTP-вызов. Обязательно просмотрите этот курс, прежде чем даже рассматривать альтернативы, которые заставят вас использовать разные зависимости для запуска, тестирования и расширения вашего кода! Как говорит Роберт Пайк: «Небольшое копирование намного лучше, чем небольшая зависимость». В этом курсе мы избавимся не только от зависимостей, но и от копирования. Мы не используем ничего, кроме стандартной библиотеки Go, для проектирования и разработки нашего собственного HTTP-клиента.
Этот клиент станет базой для всех приложений, которые мы собираемся создать позже, благодаря чему наш бизнес будет масштабироваться и расти настолько быстро, насколько это возможно.
Материал на английском языке
Подробнее:
Скачать: