0

我正在使用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 [] []}

页面和标签数据未​​绑定。其他字段是绑定的,但为什么不只是多数组字段?我该如何绑定?我是初学者,任何建议将不胜感激。

4

1 回答 1

0

Echo 框架不支持开箱即用的表单数据绑定数组。

您可以改用 json 或使用 3rd 方库。请参阅实施发布和 github 问题https://github.com/labstack/echo/issues/1644

于 2021-10-04T06:29:24.503 回答