Sobes.tech
Back to questions
Senior
5

Как ты разрабатываешь REST API?

Companies where asked
wilix

Answer from AI

sobes.tech AI

При разработке REST API на Go я придерживаюсь следующих принципов:

  • Четко определяю структуру ресурсов и их эндпоинтов, используя понятные URL.
  • Использую стандартные HTTP методы (GET, POST, PUT, DELETE) согласно семантике.
  • Для сериализации данных применяю JSON с помощью стандартной библиотеки encoding/json.
  • Обрабатываю ошибки с понятными HTTP статусами и сообщениями.
  • Структурирую код с использованием middleware для логирования, аутентификации и валидации.
  • Пишу тесты для каждого эндпоинта.

Пример простого обработчика:

func getUserHandler(w http.ResponseWriter, r *http.Request) {
    id := mux.Vars(r)["id"]
    user, err := getUserByID(id)
    if err != nil {
        http.Error(w, "User not found", http.StatusNotFound)
        return
    }
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(user)
}