[TOC]
- iris自定义结构体映射获取json格式请求数据目录结构代码示例
iris自定义结构体映射获取json格式请求数据
目录结构
主目录readJson
—— main.go
代码示例
main.go
package mainimport ( "github.com/kataras/iris")type Company struct { Name string City string Other string}func MyHandler(ctx iris.Context) { var c Company if err := ctx.ReadJSON(&c); err != nil { ctx.StatusCode(iris.StatusBadRequest) ctx.WriteString(err.Error()) return } ctx.Writef("Received: %#+v\n", c)}//简单的json,请阅读https://golang.org/pkg/encoding/jsontype Person struct { Name string `json:"name"` Age int `json:"age"`}// MyHandler2从JSON POST数据中读取Person的集合。func MyHandler2(ctx iris.Context) { var persons []Person err := ctx.ReadJSON(&persons) if err != nil { ctx.StatusCode(iris.StatusBadRequest) ctx.WriteString(err.Error()) return } ctx.Writef("Received: %#+v\n", persons)}func main() { app := iris.New() app.Post("/", MyHandler) app.Post("/slice", MyHandler2) //使用Postman或其他什么来做POST请求 //使用RAW BODY到http//localhost:8080: /* { "Name": "iris-Go", "City": "New York", "Other": "Something here" } */ //和Content-Type到application/json(可选且易用) //响应应该是: //接收值: main.Company{Name:"iris-Go", City:"New York", Other:"Something here"} app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed), iris.WithOptimizations)}
