如何从 echo.Context.MultipartForm() 检索 []string 类型的 form.Value

How to retrieve form.Value of []string type from echo.Context.MultipartForm()

我正在解析来自 echo.Context 的多部分表单。我使用 form.Value 检索切片 ([]string) 的值。 return 是一个带双括号的值。 (例如 [["this","something"]])。

我尝试从非切片 (string) 值中读取,它 return 是正确的。

这会解析来自 c echo.Context

的表单
// Parse the Multipart form
    form, err := c.MultipartForm()
    if err != nil {
        return dataModel, err
    }

这将从表单中检索值。

    product := form.Value["products"]
    if len(product) > 0 {
        dataModel.Product = form.Value["products"]
    }

dataModel 定义了一个 JSON 结构如下:

// LockRequest is the model for incoming lock requests
type LockRequest struct {
    Product     []string `json:"products" form:"products" query:"products"`
}

dataModel.Productreturns 的值为[["crm","something"]]。它可能正在创建一个列表列表。我想要 return ["crm","something"].

预计:["crm","something"] 实际:[["crm","something"]]

我意识到我错误地卷曲了数据。

curl -XPOST -H 'Content-Type: multipart/form-data' -F 'products=crm,something' http://localhost:50051/lockHandler

而不是

curl -XPOST -H 'Content-Type: multipart/form-data' -F 'products="crm","something"' http://localhost:50051/lockHandler

对我有用。