Response Methods
Penjelasan
echo.Context punya beberapa method response: c.String(status, teks) (teks biasa), c.JSON(status, data) (serialize otomatis jadi JSON), c.HTML(status, html) (HTML mentah). Argumen pertama SELALU status code HTTP, memakai konstanta bawaan Go http.StatusOK, http.StatusNotFound, dst.
Contoh Konsep
e.GET("/teks", func(c echo.Context) error {
return c.String(http.StatusOK, "Ini teks biasa")
})
e.GET("/json", func(c echo.Context) error {
return c.JSON(http.StatusOK, map[string]interface{}{
"nama": "Kaos CompileDaily",
"harga": 99000,
})
})
e.GET("/tidak-ditemukan", func(c echo.Context) error {
return c.JSON(http.StatusNotFound, map[string]string{"error": "Data tidak ditemukan"})
})
Praktikum
Buat route GET /produk/:id yang merespons c.JSON(http.StatusNotFound, ...) kalau c.Param("id") sama dengan "999", atau c.JSON(http.StatusOK, ...) berisi id dan nama produk contoh untuk id lainnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Memakai konstanta http.StatusOK (bukan angka mentah 200) lebih disukai konvensi Go — selain lebih jelas dibaca, editor/IDE bisa memberi autocomplete daftar status code yang tersedia, mengurangi kesalahan ketik angka status yang salah.