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 data int. Fiber juga mendukung tipe data int, 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 pada fiber.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.

0
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.