Когда применяется REST

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

Ответ

REST применяется для создания веб-сервисов, которые следуют принципам архитектурного стиля REST. Основные случаи использования:

  1. Stateless-взаимодействие – когда сервер не хранит состояние клиента между запросами.
  2. Масштабируемость – благодаря кэшированию и отсутствию состояния.
  3. Унифицированный интерфейс – ресурсы идентифицируются через URI, а операции (GET, POST, PUT, DELETE) стандартизированы.
  4. Простота интеграции – JSON/XML over HTTP легко потреблять из любых клиентов.

Пример на Go с net/http:

func getUser(w http.ResponseWriter, r *http.Request) {
    if r.Method != "GET" {
        w.WriteHeader(http.StatusMethodNotAllowed)
        return
    }
    id := r.URL.Query().Get("id")
    // логика получения пользователя
    json.NewEncoder(w).Encode(User{ID: id, Name: "John"})
}

Идеально для публичных API, мобильных бэкендов и микросервисов. Не подходит для реального времени (выбирайте WebSockets/gRPC).