Создание REST API на Go: Gin / Fiber — туториал

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

gorest apigin

Go часто выбирают для backend-разработки из-за скорости, простоты и отличной работы с конкурентностью. Если нужен REST API, два популярных фреймворка — Gin и Fiber. Оба помогают быстро поднять сервер, настроить маршруты и вернуть JSON.

Когда выбрать Gin, а когда Fiber

  • Gin — один из самых популярных фреймворков Go. Удобен, стабилен, хорошо документирован, подходит для большинства API.
  • Fiber — делает ставку на высокую производительность и API, похожий на Express.js. Часто нравится тем, кто переходит с Node.js.

Базовая структура REST API

Обычно API на Go включает:

  • роуты
  • обработчики запросов
  • модели данных
  • middleware
  • подключение к БД

Пример на Gin

package main

import (
  "net/http"
  "github.com/gin-gonic/gin"
)

func main() {
  r := gin.Default()

  r.GET("/ping", func(c *gin.Context) {
    c.JSON(http.StatusOK, gin.H{"message": "pong"})
  })

  r.Run(":8080")
}

Что происходит:

  • gin.Default() подключает роутер с базовыми middleware
  • GET /ping создает endpoint
  • c.JSON() возвращает JSON-ответ

Пример на Fiber

package main

import "github.com/gofiber/fiber/v2"

func main() {
  app := fiber.New()

  app.Get("/ping", func(c *fiber.Ctx) error {
    return c.JSON(fiber.Map{"message": "pong"})
  })

  app.Listen(":8080")
}

Как сделать CRUD API

Для типового REST API нужны маршруты:

  • GET /users — получить список
  • GET /users/:id — получить одного
  • POST /users — создать
  • PUT /users/:id — обновить
  • DELETE /users/:id — удалить

Что важно в продакшене ⚙️

  • Валидация данных — не доверяйте входящему JSON
  • Middleware — логирование, CORS, recovery
  • Коды ответа — 200, 201, 400, 404, 500 должны использоваться корректно
  • Работа с БД — часто используют GORM, sqlx или стандартный database/sql
  • Конфигурация — храните порт, DSN и секреты в env-переменных
  • Тесты — проверяйте handlers и бизнес-логику отдельно

Gin vs Fiber: кратко

  • Gin — зрелая экосистема, много примеров, низкий порог входа
  • Fiber — высокая скорость, приятный API, удобен для быстрых сервисов
  • Для большинства задач выбор между ними не критичен: важнее архитектура API, обработка ошибок и чистый код

Что ищут пользователи и какой вывод

  • взять Gin или Fiber
  • поднять 3–5 CRUD-эндпоинтов
  • подключить PostgreSQL
  • добавить валидацию, middleware и логирование
  • завернуть проект в Docker 🐳

Итог:
Gin — отличный выбор для надежного и понятного старта. Fiber — сильный вариант, если важны производительность и лаконичность. Оба подходят для создания REST API на Go, и оба активно используются в реальных IT-проектах. ✅

Подборку полезных каналов про IT можно посмотреть ниже 📚

Читайте так же