package main import "github.com/kataras/iris/v12" // User example struct to bind to. type User struct { Firstname string `msgpack:"firstname"` Lastname string `msgpack:"lastname"` City string `msgpack:"city"` Age int `msgpack:"age"` } // readMsgPack reads a `User` from MsgPack post body. func readMsgPack(ctx iris.Context) { var u User err := ctx.ReadMsgPack(&u) if err != nil { ctx.StopWithError(iris.StatusBadRequest, err) return } ctx.Writef("Received: %#+v\n", u) } func main() { app := iris.New() app.Post("/", readMsgPack) // POST: http://localhost:8080 // // To run the example, use a tool like Postman: // 1. Body: Binary // 2. Select File, select the one from "_examples/response-writer/write-rest" example. // The output should be: // Received: main.User{Firstname:"John", Lastname:"Doe", City:"Neither FBI knows!!!", Age:25} app.Listen(":8080") }