TGViewer
Библиотека Go-разработчика | Golang Библиотека Go-разработчика | Golang @goproglib · 24.1K subscribers
Post #7161 3.69K
👨‍💻 Resty переоценён. Используйте net/http с тонкой обёрткой

resty делает HTTP-запросы в Go удобнее. Но платите вы за это абстракцией поверх того, что стандартная библиотека уже умеет хорошо.

Resty скрывает детали реализации. Логика ретраев, поведение таймаутов, политика редиректов — всё это настраивается через API Resty, а не через http.Transport. Когда что-то ломается в проде, вы отлаживаете через два слоя вместо одного.

Что использовать

Тонкая обёртка вокруг net/http. Пишется один раз:
type Client struct {
base string
http *http.Client
headers map[string]string
}

func (c *Client) Get(ctx context.Context, path string, out any) error {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.base+path, nil)
if err != nil {
return err
}
for k, v := range c.headers {
req.Header.Set(k, v)
}
resp, err := c.http.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
return json.NewDecoder(resp.Body).Decode(out)
}


http.Transport
настраивается напрямую. Таймауты выставляются на http.Client. Ретраи с экспоненциальным бэкоффом добавляются именно там, где нужны.

Для межсервисного взаимодействия, внутренних API и интеграций с внешними сервисами этой обёртки более чем достаточно. Поведение предсказуемо, отладка прямолинейна, зависимостей нет.

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека Go-разработчика

#GoToProduction
  • 👍 15
  • ❤ 3
  • 😁 1
  • 🤔 1
More from @goproglib
  1. Sep 30, 2026🧑‍💻 Эмулятор AWS-сервисов Kumo — это небольшой инструмент на Go для локальной имитации A…
  2. Sep 29, 2026👨‍💻 Библиотека для написания LSP-серверов Написать свой Language Server с нуля на Go сло…
  3. Sep 28, 2026🤔 Вопрос с собеседования по Go Что выведет программа? ❤️ — 1 true / 0 false 🔥 — 1 true /…
  4. Sep 28, 2026👩‍💻 Что на самом деле происходит внутри Go map? После Go 1.24 обычный map внутри работае…
  5. Sep 26, 2026🔥 В Go 1.27 появился portable SIMD До этого SIMD-оптимизации в Go требовали архитектурног…
  6. Sep 25, 2026🤡🤡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoGiggle
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →