Tutorial Golang REST API + MySQL - Part 2 - by Kiddy - Medium
Tutorial Golang REST API + MySQL - Part 2 - by Kiddy - Medium
Kiddy
Hello gengs, pada tutorial kali ini gue akan ngajarin gimana caranya melakukan
CREATE, UPDATE, dan DELETE. Di tutorial ini gue anggep lo udah paham istilah
CRUD dan gue gak perlu lagi jelasin apa itu CRUD.
Oke langsung aja, berlanjut dari tutorial kemarin (Bagi yang belum baca silahkan
coba disini). Sekarang gue akan menjelaskan lanjutannya.
File yang digunakan masih data.go, sekarang kita akan menambahkan fungsi Create.
Cuss codenya dibawah
db := connect()
defer db.Close()
err := r.ParseMultipartForm(4096)
if err != nil {
panic(err)
}
first_name := r.FormValue("first_name")
last_name := r.FormValue("last_name")
if err != nil {
log.Print(err)
}
response.Status = 1
response.Message = "Success Add"
log.Print("Insert data to database")
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(response)
Oke sedikit yang mau gue jelaskan disini, disini kita akan menggunakan tipe Post
dengan Form-data. Selain Form-data, lo juga bisa menggunakan x-www-form-
urlencoded dan juga JSON Raw. Kenapa Form-data? Karena gue pengennya pake itu
aja hahaha gaada alasan spesifik. Tapi kalo lo pengen pake x-www-form-urlencoded,
caranya gampang.
//continue....
}
Open in app
tinggal ganti dengan ParseForm dan method untuk ambil get parameternya diikutin
aja.
router.HandleFunc(“/users”, insertUsersMultipart).Methods(“POST”)
Sekarang lo bisa coba dengan cara build projeknya terlebih dahulu dan berikut
adalah hasilnya.
Create Data
Hasil di database
Oke untuk Update dan Delete-nya lo bisa coba lewat code ini.
db := connect()
defer db.Close()
Open in app err := r.ParseMultipartForm(4096)
if err != nil {
panic(err)
}
id := r.FormValue("user_id")
first_name := r.FormValue("first_name")
last_name := r.FormValue("last_name")
if err != nil {
log.Print(err)
}
response.Status = 1
response.Message = "Success Update Data"
log.Print("Update data to database")
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(response)
db := connect()
defer db.Close()
err := r.ParseMultipartForm(4096)
if err != nil {
panic(err)
}
id := r.FormValue("user_id")
if err != nil {
log.Print(err)
}
response.Status = 1
response.Message = "Success Delete Data"
log.Print("Delete data to database")
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(response)
}
Open in app
Basic code nya masih sama, namun bedanya ada ID aja sekarang.
router.HandleFunc(“/users”,updateUsersMultipart).Methods(“PUT”)
router.HandleFunc(“/users”,deleteUsersMultipart).Methods(“DELETE”)
Hasil
Oke sampe situ aja yang bisa gue kasih, semoga tutorial Golang REST API + MySQL
ini bisa bermanfaat bagi elo selaku reader, dan gue selaku writer ya ^^
Happy coding!