Junior — Middle
Zdieľajte podrobnosti o vašom poslednom profesionálnom projekte alebo úlohe, ktorú ste nedávno riešili.
sobes.tech AI
Odpoveď od AI
U mojom poslednjem projektu u Go, razvio sam REST API za sistem upravljanja zadacima. Glavni zadatak bio je da se kreira pouzdana i skalabilna usluga koja omogućava kreiranje, ažuriranje i brisanje zadataka, kao i filtriranje po statusu i prioritetu.
Za to sam koristio standardni paket net/http za obradu zahteva, kao i biblioteku gorilla/mux za rutiranje. Kao skladište podataka koristio sam PostgreSQL sa ORM-om GORM.
Primer handlera za kreiranje zadatka:
func createTaskHandler(w http.ResponseWriter, r *http.Request) {
var task Task
err := json.NewDecoder(r.Body).Decode(&task)
if err != nil {
http.Error(w, "Nevažeći unos", http.StatusBadRequest)
return
}
if err := db.Create(&task).Error; err != nil {
http.Error(w, "Neuspešno kreiranje zadatka", http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(task)
}
Takođe sam implementirao middleware za logovanje zahteva i obradu grešaka, što je poboljšalo podršku i otklanjanje grešaka usluge.