Fiber: 馃敟 Consider supporting shouldBind API like gin ?

Created on 11 Feb 2020  路  2Comments  路  Source: gofiber/fiber

// curl -X POST http://localhost:8080 -d user=john

type Login struct {
    User     string `form:"user" binding:"required"`
}

app.Post("/", func(c *fiber.Ctx) {
    var form Login
    c.ShouldBind(&form); 
    ...
})

Most helpful comment

We are working on something similar, it only supports xml & json bodies for now.
BodyParser: https://github.com/gofiber/fiber/blob/master/request.go#L200

It's not released in the documentation yet.
Until it also supports form-data we will document it as an "official" method.

I will keep this topic open until released.

All 2 comments

We are working on something similar, it only supports xml & json bodies for now.
BodyParser: https://github.com/gofiber/fiber/blob/master/request.go#L200

It's not released in the documentation yet.
Until it also supports form-data we will document it as an "official" method.

I will keep this topic open until released.

@cheft
v1.6.0 will support 4 content-types https://fiber.wiki/context#bodyparser

type Person struct {
    Name string `json:"name" xml:"name" form:"name"`
    Pass string `json:"pass" xml:"pass" form:"pass"`
}

// curl -X POST -H "Content-Type: application/json"\ 
// --data '{"name":"john","pass":"doe"}'  localhost:3000

// curl -X POST -H "Content-Type: application/xml"\ 
// --data '<Login><name>john</name><pass>doe</pass><Login>'  localhost:3000

// curl -X POST -H "Content-Type: application/x-www-form-urlencoded"
// --data 'name=john&pass=doe'  localhost:3000

// curl -v -F name=john -F pass=doe http://localhost:3000

func main() {
    app := fiber.New()
    app.Post("/", func(c *fiber.Ctx) {
        var person Person

        err := c.BodyParser(&person)
        if err != nil {
            // handle error
        }
        fmt.Println(person)
        // Do something with person.Name or person.Pass

    })
    app.Listen(3000)
}
Was this page helpful?
0 / 5 - 0 ratings

Related issues

peterbourgon picture peterbourgon  路  4Comments

faultable picture faultable  路  3Comments

ahan picture ahan  路  3Comments

petersephrin picture petersephrin  路  4Comments

mhf-ir picture mhf-ir  路  3Comments