Go: Медленная зависимость и старый клиент — задача с проверкой
Практическая задача на Go по теме «Медленная зависимость и старый клиент». Условие содержит контракт функций, предоставленные типы и требования к результату. Используйте выданный шаблон и сохраняйте его публичные объявления. Перед проверкой разберите успешный путь, обработку ошибок и отмену операции, когда она предусмотрена контрактом. Здесь оценивается конкретный компонент сервиса; в полном курсе микросервисов на Go эти компоненты связываются с HTTP, PostgreSQL, gRPC и Kafka.
Реализуйте FetchOldProfile для старого клиента Profile API. Функция делает один GET через переданный *http.Client с данным context. Возвращайте (OldProfile, status, error): при ошибке создания запроса или client.Do — нулевой профиль, status=0 и исходную ошибку; при доставленном не-200 (включая 503) — нулевой профиль, полученный HTTP status и nil error; при 200 декодируйте id и name обычным encoding/json. Дополнительное display_name не должно ломать старый клиент. Ошибка JSON при 200 возвращается с status=200. Всегда закрывайте тело доставленного ответа. В задаче используется fake HTTP transport без внешней сети или PostgreSQL.
РешениеGo
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Go: Принять только полный ответ о последней статье — задача с проверкой
- HTTP-клиент поиска на Go: обработка ответа и ошибок — задача
- Go: Декодирование артефакта из JSON — задача с проверкой
- Go: Обязательная и необязательная зависимость при отказе — задача с проверкой
- Go: HTTP-обработчик поиска задания через JobStore — задача с проверкой
- Go: HTTP-обработчик расчёта калорийности состава — задача с проверкой
