-->

Cara Membuat REST API dengan GoLang (PATCH)

 

Cara Membuat REST API dengan GoLang (PATCH)

Lanjut dari artikel sebelumnya, Kali ini saya akan membeli tutorial tentang method PATCH pada REST API GoLang.

Method PATCH

1. Buka file main.go
2. Buat code seperti Dibawah Ini
package main

import (
"errors"
"net/http"

"github.com/gin-gonic/gin"
)

type todo struct {
ID string `json:"id"`
Item string `json:"title"`
Completed bool `json:"completed"`
}

var todos = []todo{
{
ID: "1",
Item: "Clean Room",
Completed: false,
},

{
ID: "2",
Item: "Read Book",
Completed: false,
},

{
ID: "3",
Item: "Record Video",
Completed: false,
},
}

func getTodos(context *gin.Context) {
context.IndentedJSON(http.StatusOK, todos)
}

func addTodo(context *gin.Context) {
var newTodo todo

if err := context.BindJSON(&newTodo); err != nil {
return
}

todos = append(todos, newTodo)

context.IndentedJSON(http.StatusCreated, newTodo)
}

func getTodo(context *gin.Context) {
id := context.Param("id")
todo, err := getTodoById(id)

if err != nil {
context.IndentedJSON(http.StatusNotFound, gin.H{"Message": "Todo not found"})
}

context.IndentedJSON(http.StatusOK, todo)
}

func toggleTodoStatus(context *gin.Context) {
id := context.Param("id")
todo, err := getTodoById(id)

if err != nil {
context.IndentedJSON(http.StatusNotFound, gin.H{"Message": "Todo not found"})
}

todo.Completed = !todo.Completed

context.IndentedJSON(http.StatusOK, todo)
}

func getTodoById(id string) (*todo, error) {
for i, t := range todos {
if t.ID == id {
return &todos[i], nil
}
}
return nil, errors.New("Todo not found")
}

func main() {
router := gin.Default()
router.GET("/todos", getTodos)
router.GET("/todos/:id", getTodo)
router.PATCH("/todos/:id", toggleTodoStatus)
router.POST("/todos", addTodo)
router.Run("localhost:9090")
}

3. Simpan main.go
4. Jalankan code Menggunakan perintah ini di terminal, go run main.go

8. Pastikan code berjalan

golang
9. Lakukan test Menggunakan Postman

0 Response to "Cara Membuat REST API dengan GoLang (PATCH)"

Post a Comment

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel