Proyek Akhir: Todo API Lengkap

Merangkai semua bagian: CRUD, validasi, logging, dan recover menjadi satu Todo API utuh.

Part 17 dari 17 ± 45 menit Gratis

Saatnya merangkai

Kamu sudah membuat semua potongan: handler CRUD (bab 6–9), validasi (bab 8), middleware (bab 11–13), dan struktur (bab 15). Di bab ini semuanya disatukan menjadi satu program Todo API yang utuh.

Peta route

RouteHandlerHasil sukses
GET /todosList200
POST /todosCreate201
GET /todos/{id}GetByID200
PUT /todos/{id}Update200
DELETE /todos/{id}Delete204

Urutan perakitan di main

  1. Buat store dan api := &API{store: store}.
  2. Buat mux, daftarkan lima route.
  3. Bungkus dengan middleware: handler := Logging(Recover(mux)) — request melewati Logging, lalu Recover, lalu mux.
  4. Berikan handler ke server: http.ListenAndServe(":8080", handler).

Menjalankan di komputermu

Salin kode solusi ke main.go, ganti bagian simulasi di main dengan:

log.Println("Todo API di http://localhost:8080")
log.Fatal(http.ListenAndServe(":8080", handler))

Lalu coba dengan curl:

curl -X POST localhost:8080/todos -d '{"title":"Belajar Go"}'
curl localhost:8080/todos
curl -X PUT localhost:8080/todos/1 -d '{"title":"Belajar Go","done":true}'
curl -X DELETE localhost:8080/todos/1

Langkah berikutnya

  • Ganti Store dengan database (PostgreSQL + database/sql) lewat interface repository bab 15.
  • Tambahkan autentikasi yang lebih kuat (JWT) menggantikan API key.
  • Pasang pengujian otomatis (go test) untuk setiap endpoint.
  • Bungkus dengan Docker lalu deploy.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X