Sobes.tech
Junior — Middle

Споделете подробности за последния ви професионален проект или задача, която решихте наскоро.

sobes.tech AI

Отговор от AI

В последния ми проект на Go разработих REST API за система за управление на задачи. Основната задача беше да създам надежден и мащабируем сервис, който да позволява създаване, актуализиране и изтриване на задачи, както и филтриране по статус и приоритет.

За това използвах стандартния пакет net/http за обработка на заявките и библиотеката gorilla/mux за маршрутизация. За съхранение на данни използвах PostgreSQL с ORM GORM.

Пример за обработчик за създаване на задача:

func createTaskHandler(w http.ResponseWriter, r *http.Request) {
    var task Task
    err := json.NewDecoder(r.Body).Decode(&task)
    if err != nil {
        http.Error(w, "Невалиден вход", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Неуспешно създаване на задача", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

Също така реализирах middleware за логване на заявки и обработка на грешки, което подобри поддръжката и отстраняването на грешки на услугата.