Задать вопрос
you_are_enot
@you_are_enot
Пограммист любитель

Как описать структуру входных данных?

При отправке запроса в ответ может вернуться json с данными или ошибкой. Как в этом случае описать структуру resp.Body?

resp, err := http.Get(requestURL)
if err != nil {
      // ...
}

defer resp.Body.Close()
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@ghostiam
На Go писатель, серверов пинатель.
resp.Body содержит только байты и ничего более.

Вы можете в зависимости от статуса ответа сервера resp.Status, выбирать, как вам обрабатывать данные.
Например, у меня в проектах сделано так:
Когда статус запроса 200, я декодирую его как обычно.
Если статус другой, я ожидаю, что он будет содержать другую структуру, в которой будет описание ошибки и пытаюсь его декодировать в эту структуру и возвращаю как ошибку.
Но если декодирование ошибки не удалось, то я просто возвращаю ошибку, содержащую текст Body.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
axifive
@axifive
Software Engineer
Ключ Content-Type в заголовке описывает что за данные в body. Для Json: application/json

type := resp.Header.Get("Content-Type")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы