Sau khi clone về các bạn nhớ đổi tên project thành GolangRestApi và vào GOPATH rồi copy vào thư mục src, cách cài đặt và setup dự án Golang các bạn có thể tham khảo chi tiết tại bài viết này của mình:
Định nghĩa các hàm cơ bản như CreateUser, UpdateUser, FindUser, DeleteUser và GetAllUser. listUser dùng để chưa thông tin của các User, thay vì để khai báo listUser như vậy chúng ta có thể connect tới database và thực hiện các thao tác như trên, nhưng để dễ hiểu và rõ ràng hơn thì ở bài viết này chúng ta sẽ thực hiện theo cách đơn giản này trước.
package models
import("GolangRestApi/entities""errors")var(
listUser = make([]*entities.User,0))
func CreateUser(user *entities.User)bool{if user.Id!=""&& user.Name!=""&& user.Password!=""{if userF, _ :=FindUser(user.Id); userF ==nil{
listUser = append(listUser, user)returntrue}}returnfalse}
func UpdateUser(eUser *entities.User)bool{for index, user := range listUser {if user.Id== eUser.Id{
listUser[index]= eUser
returntrue}}returnfalse}
func FindUser(id string)(*entities.User, error){for _, user := range listUser {if user.Id== id {return user,nil}}returnnil, errors.New("User does not exist")}
func DeleteUser(id string)bool{for index, user := range listUser {if user.Id== id {
copy(listUser[index:], listUser[index+1:])
listUser[len(listUser)-1]=&entities.User{}
listUser = listUser[:len(listUser)-1]returntrue}}returnfalse}
func GetAllUser()[]*entities.User{return listUser
}
Để kiểm tra kết quả chúng ta sẽ sử dụng Postman nhé, bạn có thể vào thư mục assets và import file GolangRestApi.postman_collection.json vào để test cho nhanh.
Tạo mới User.
Lấy danh sách các User
Tìm kiếm một User
Cập nhật User
Sau khi update user chúng ta hãy kiểm tra lại thông tin vừa được update.
Xóa một User
Sau khi delete user chúng ta hãy kiểm tra lại danh sách, như hình bên dưới sau khi delete user đi thì danh sách là rỗng.
Tổng kết:
Chúng ta đã tập làm quen với Golang và Rest Api trong Golang, ở bài tiếp theo chúng ta sẽ tìm hiểu tiếp về xác thực Rest Api sử dụng Json Web Token nhé.