Назад к вопросам
Senior
6
Как ты разрабатываешь REST API?
Компании, где спрашивали
wilix
Ответ от нейросети
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)
}