如何在 Echo 框架中绑定 multipart/form-data 数组?
How to bind multipart/form-data array in Echo framework?
我正在使用 flutter 和 Go Echo 框架编写一个 api 服务器,我想将数据从 flutter 发送到 Go 并保存,但是 c.bind()
在 Go 中不起作用:
type _getData struct {
Title string `json:"title" form:"title"`
Address string `json:"address" form:"address"`
Location string `json:"location" form:"location"`
MapId uint `json:"map_id" form:"map_id"`
Date _customTime `json:"date" form:"date"`
Pages []struct {
Order int `json:"order" form:"order"`
Description string `json:"description" form:"description"`
} `json:"pages" form:"pages"`
Tags []struct {
TagName string `json:"tag_name" form:"tag_name"`
ID string `json:"id" form:"id"`
} `json:"tags" form:"tags"`
}
type _customTime struct {
time.Time
}
按照上面的代码创建一个结构体,并如下所示绑定它:
d := &echo.DefaultBinder{}
var aa _getData
d.Bind(&aa, c)
fmt.Println(c.Request().Form)
fmt.Println(aa)
----- fmt.Println(c.Request().Form)'s result is -----
ap[address:[미국 캘리포니아 산타클라라 카운티 쿠퍼티노 ] date:[2021-10-01] location:
[37.330672396748554 -122.03014377504589] pages[0][description]:[123123] pages[0]
[order]:[0] tags[0][tag_name]:[sdf] title:[123123]]
----- fmt.Println(aa)'s result is -----
{123123 미국 캘리포니아 산타클라라 카운티 쿠퍼티노 37.330672396748554 -122.03014377504589 0
2021-10-01 00:00:00 +0900 KST [] []}
页面和标签数据未绑定。
其他字段是绑定的,但为什么不只是多数组字段?我该如何绑定?我是初学者,如有任何建议,我们将不胜感激。
Echo 框架不支持开箱即用的表单数据绑定数组。
您可以改用 json 或使用第 3 方库。参见 or and github issue https://github.com/labstack/echo/issues/1644
我正在使用 flutter 和 Go Echo 框架编写一个 api 服务器,我想将数据从 flutter 发送到 Go 并保存,但是 c.bind()
在 Go 中不起作用:
type _getData struct {
Title string `json:"title" form:"title"`
Address string `json:"address" form:"address"`
Location string `json:"location" form:"location"`
MapId uint `json:"map_id" form:"map_id"`
Date _customTime `json:"date" form:"date"`
Pages []struct {
Order int `json:"order" form:"order"`
Description string `json:"description" form:"description"`
} `json:"pages" form:"pages"`
Tags []struct {
TagName string `json:"tag_name" form:"tag_name"`
ID string `json:"id" form:"id"`
} `json:"tags" form:"tags"`
}
type _customTime struct {
time.Time
}
按照上面的代码创建一个结构体,并如下所示绑定它:
d := &echo.DefaultBinder{}
var aa _getData
d.Bind(&aa, c)
fmt.Println(c.Request().Form)
fmt.Println(aa)
----- fmt.Println(c.Request().Form)'s result is -----
ap[address:[미국 캘리포니아 산타클라라 카운티 쿠퍼티노 ] date:[2021-10-01] location:
[37.330672396748554 -122.03014377504589] pages[0][description]:[123123] pages[0]
[order]:[0] tags[0][tag_name]:[sdf] title:[123123]]
----- fmt.Println(aa)'s result is -----
{123123 미국 캘리포니아 산타클라라 카운티 쿠퍼티노 37.330672396748554 -122.03014377504589 0
2021-10-01 00:00:00 +0900 KST [] []}
页面和标签数据未绑定。 其他字段是绑定的,但为什么不只是多数组字段?我该如何绑定?我是初学者,如有任何建议,我们将不胜感激。
Echo 框架不支持开箱即用的表单数据绑定数组。
您可以改用 json 或使用第 3 方库。参见