Использовал ли REST при написании сервисов

«Использовал ли REST при написании сервисов» — вопрос из категории Архитектура, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, использовал. REST — это архитектурный стиль для построения веб-сервисов, основанный на HTTP. В Go часто применяю стандартную библиотеку net/http или фреймворки типа Gin или Echo для создания RESTful API.

Пример простого REST-сервиса на Gin:

package main

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

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{"message": "pong"})
    })
    r.Run() // :8080
}

Ключевые принципы:

  • Использование HTTP-методов (GET, POST, PUT, DELETE).
  • Статус-коды для ответов (200, 404, 500).
  • JSON как основной формат обмена данными.
  • Чистые URL (/users, /users/:id).

Для сложных проектов добавляю Swagger (go-swagger) и валидацию.