Sobes.tech
Junior — Middle

Sdílejte podrobnosti o svém posledním profesním projektu nebo úkolu, který jste nedávno řešili.

sobes.tech AI

Odpověď od AI

V mém posledním projektu v Go jsem vyvíjel REST API pro systém správy úkolů. Hlavním úkolem bylo vytvořit spolehlivou a škálovatelnou službu, která umožňuje vytváření, aktualizaci a mazání úkolů, stejně jako jejich filtrování podle stavu a priority.

K tomu jsem použil standardní balíček net/http pro zpracování požadavků a knihovnu gorilla/mux pro směrování. Jako úložiště dat jsem použil PostgreSQL s ORM GORM.

Příklad handleru pro vytvoření úkolu:

func createTaskHandler(w http.ResponseWriter, r *http.Request) {
    var task Task
    err := json.NewDecoder(r.Body).Decode(&task)
    if err != nil {
        http.Error(w, "Neplatný vstup", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Nepodařilo se vytvořit úkol", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

Také jsem implementoval middleware pro logování požadavků a zpracování chyb, což zlepšilo podporu a ladění služby.