Как грамотно обработать ошибочный ответ получаемый от API?
Например, при корректном запросе возвращается корректная json-модель, назовем её User, которая имеет структуру в го:
type User struct {
Country string `json:"country"`
Login string `json:"login"`
DisplayName string `json:"display_name"`
UID string `json:"uid"`
}
При некорректном запросе возвращается json-модель Error, структура в го:
type Error struct {
Message string `json:"message"`
Description string `json:"description"`
Error string `json:"error"`
}
Есть функция:
func (c *Client) GetUser(login string) (User,error) {
// ..body
}
Которая должна вернуть структуру User, но что возвращать в случае ошибки. Думал в структуре Error реализовать интерфейс error и передавать уже непосредственно через error ошибочный ответ.