Gestire l'invio di un form in POST con Fiber in Go

Quando si sviluppano applicazioni web, una delle funzionalità più comuni è la gestione dei form. In questo articolo, esploreremo come gestire l'invio di un form tramite POST utilizzando Fiber, un framework web per Go. Fiber è noto per la sua semplicità e velocità, rendendolo una scelta eccellente per i progetti Go.

Prima di iniziare, assicurati di avere Go installato sul tuo sistema. Puoi scaricarlo dal sito ufficiale di Go. Inoltre, avrai bisogno di installare Fiber. Puoi farlo utilizzando il comando:


go get -u github.com/gofiber/fiber/v2

Iniziamo creando una semplice applicazione Fiber. Apri il tuo editor di testo preferito e crea un nuovo file chiamato main.go. Aggiungi il seguente codice per impostare una nuova applicazione Fiber:


package main

import (
    "github.com/gofiber/fiber/v2"
)

func main() {
    app := fiber.New()

    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World!")
    })

    app.Listen(":3000")
}

Questo codice crea una nuova applicazione Fiber e avvia un server sulla porta 3000 che risponde con "Hello, World!" quando si accede alla root (/).

Per gestire l'invio di un form, avremo bisogno di un semplice form HTML. Aggiorniamo il nostro handler per la route root per restituire un form HTML:


app.Get("/", func(c *fiber.Ctx) error {
    form := `
        <form action="/submit" method="POST">
            <label for="name">Name:</label>
            <input type="text" id="name" name="name">
            <input type="submit" value="Submit">
        </form>
    `
    return c.SendString(form)
})

Ora, aggiungiamo una nuova route per gestire l'invio del form. Utilizzeremo un handler che legge i dati inviati nel form e li visualizza:


app.Post("/submit", func(c *fiber.Ctx) error {
    name := c.FormValue("name")
    response := "Hello, " + name
    return c.SendString(response)
})

Conclusione

Abbiamo visto come creare una semplice applicazione web con Fiber in Go che gestisce l'invio di un form tramite POST. Fiber rende questo processo molto semplice e diretto grazie alla sua API intuitiva. Da qui, puoi estendere la tua applicazione per gestire form più complessi, validare l'input e persistere i dati in un database.

Torna su