Anda di halaman 1dari 3

Membuat Delete data dari API dengan Golang

Untuk tutor kali ini kita akan membahas tentang menghapus data dari data yang ada dengan
sebuah id.

untuk database sudah kita generate dari materi sebelumnya

Dengan data sebelumnya

Maka kita ingin menghapus data tersebut dari sebuah api

Untuk membuat apinya kita buat coding seperti dibawah ini :

func (idb *InDB) DeletePerson(c *gin.Context) {


var (
person structs.Person
result gin.H
)
id := c.Param("id")
// result = gin.H{
// "result": id
// }
err := idb.DB.First(&person, id).Error
if err != nil {
result = gin.H{
"result": "data not found",
}

} else {
err = idb.DB.Delete(&person).Error
if err != nil {
result = gin.H{
"result": "delete failed",
}
} else {
result = gin.H{
"result": "Data deleted successfully",
}
}
}
c.JSON(http.StatusOK, result)
}

Disini kita membuat fungsi DeletePerson, tetapi perlu diperhatikan bahwa disini kita
menggunakan c.Param(“id”) untuk mengambil parameternya, berbeda seperti sebelumnya kita
menggunakan Post.

Seperti sebelumnya kita mengecek apakah data itu sudah ada

err := idb.DB.First(&person, id).Error


if err != nil {
result = gin.H{
"result": "data not found",
}
}

Coding diatas langsung memberikan return jika data tidak ada, sementara jika data ada maka
akan melakukan delte pada data, dan jika gagal untuk mendelete maka akan mengembalikan
fungsi seperti berikut :

err = idb.DB.Delete(&person).Error
if err != nil {
result = gin.H{
"result": "delete failed",
}

Jika data berhasil akan menampilkan nilai return seperti dibawah

else {
result = gin.H{
"result": "Data deleted successfully",
}

Tambah di main.go perintah untuk menghapus :

router.DELETE("/delete-person/:id", inDB.DeletePerson)

Nah coba kita request di postman untuk mengecek api yang dibuat :

Anda mungkin juga menyukai