Fiber v3 Part 4: Query
Query parameter adalah cara untuk mengirimkan data ke server menggunakan URL. Query parameter biasanya digunakan untuk melakukan filtering, sorting, dan juga searching. Query parameter biasanya digunakan pada request dengan method GET
.
Dalam artikel ini, kita akan membahas tentang bagaimana cara melakukan routing dengan query parameter pada aplikasi yang dibangun menggunakan Fiber.
Routing dengan Query Parameter
Fiber memungkinkan kita untuk melakukan routing dengan query parameter. Berikut adalah contoh bagaimana cara melakukan routing dengan query parameter pada aplikasi yang dibangun menggunakan Fiber:
package main
import "github.com/gofiber/fiber/v3"
func main() {
app := fiber.New()
app.Get("/user", func(c fiber.Ctx) error {
name := c.Query("name")
return c.SendString("Hello, " + name)
})
app.Listen(":3000")
}
Pada contoh kode di atas, kita menggunakan method Get
untuk melakukan routing. Method Get
digunakan untuk menangani request dengan method GET
. Pada contoh kode di atas, kita melakukan routing dengan path /user
. Pada handler, kita menggunakan c.Query("name")
untuk mendapatkan query parameter name
dari request.
Routing dengan Generic Query Parameter
Fiber juga memungkinkan kita untuk melakukan routing dengan generic query parameter. Berikut adalah contoh bagaimana cara melakukan routing dengan generic query parameter pada aplikasi yang dibangun menggunakan Fiber:
package main
import "github.com/gofiber/fiber/v3"
func main() {
app := fiber.New()
app.Get("/:id", func(c fiber.Ctx) error {
query := fiber.Query[int](c, "page")
return c.SendString("Query: " + query)
})
app.Listen(":3000")
}
Pada contoh kode di atas, kita menggunakan method Get
untuk melakukan routing. Method Get
digunakan untuk menangani request dengan method GET
. Pada contoh kode di atas, kita melakukan routing dengan path /:id
. Pada handler, kita menggunakan fiber.Query[int](c, "page")
untuk mendapatkan query parameter page
dari request.
Catatan: Pada contoh kode di atas, kita menggunakan
fiber.Query[int]
untuk mendapatkan query parameter dengan tipe dataint
. Fiber juga mendukung tipe dataint
,int8
,int16
,int32
,int64
,uint
,uint8
,uint16
,uint32
,uint64
,float32
,float64
,bool
,string
, dan juga[]byte
.
Routing dengan Generic Query Parameter dan Default Value
Fiber juga memungkinkan kita untuk melakukan routing dengan generic query parameter dan default value. Berikut adalah contoh bagaimana cara melakukan routing dengan generic query parameter dan default value pada aplikasi yang dibangun menggunakan Fiber:
package main
import "github.com/gofiber/fiber/v3"
func main() {
app := fiber.New()
app.Get("/:id", func(c fiber.Ctx) error {
query := fiber.Query(c, "page", 1)
return c.SendString("Query: " + query)
})
app.Listen(":3000")
}
Pada contoh kode di atas, kita menggunakan method Get
untuk melakukan routing. Method Get
digunakan untuk menangani request dengan method GET
. Pada contoh kode di atas, kita melakukan routing dengan path /:id
. Pada handler, kita menggunakan fiber.Query(c, "page", 1)
untuk mendapatkan query parameter page
dari request dengan default value 1
.
Catatan: Pada contoh kode di atas, kita tidak menggunakan tipe data pada
fiber.Query
. Fiber akan secara otomatis mendeteksi tipe data dari default value yang kita berikan jika kita memberikan default value padafiber.Query
.
Kesimpulan
Dalam artikel ini, kita telah mengenal query parameter pada Fiber dan juga telah membahas tentang bagaimana cara melakukan routing dengan query parameter pada aplikasi yang dibangun menggunakan Fiber. Dari sini kita bisa melihat bahwa dibandingkan versi sebelumnya, Fiber v3 memberikan kemudahan dalam penggunaan query parameter karena Fiber v3 mendukung tipe data yang beragam dengan menggunakan generic query parameter. Pada artikel selanjutnya, kita akan membahas tentang bagaimana cara melakukan parsing request body pada aplikasi yang dibangun menggunakan Fiber.
Subscribe to my newsletter
Read articles from ACHMAD IRIANTO EKA PUTRA directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
ACHMAD IRIANTO EKA PUTRA
ACHMAD IRIANTO EKA PUTRA
Software Engineer Backend dan salah satu member Go Fiber.