BodyParser
Binds the request body to a struct. BodyParser
supports decoding query parameters and the following content types based on the Content-Type
header:
application/json
application/xml
application/x-www-form-urlencoded
multipart/form-data
- c.BodyParser(out interface{}) error
- // Field names should start with an uppercase letter
- type Person struct {
- Name string `json:"name" xml:"name" form:"name" query:"name"`
- Pass string `json:"pass" xml:"pass" form:"pass" query:"pass"`
- }
- app.Post("/", func(c *fiber.Ctx) {
- p := new(Person)
- if err := c.BodyParser(p); err != nil {
- log.Fatal(err)
- }
- log.Println(p.Name) // john
- log.Println(p.Pass) // doe
- })
- // Run tests with the following curl commands
- // 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 -X POST -F name=john -F pass=doe http://localhost:3000
- // curl -X POST "http://localhost:3000/?name=john&pass=doe"