Как получить form.Value типа строки [] из echo.Context.MultipartForm () - PullRequest
0 голосов
/ 30 марта 2019

Я анализирую форму Multipart из echo.Context. Я получаю значение среза ([]string), используя form.Value. Это возвращает значение с двойными скобками. (например. [["this","something"]]).

Я попытался прочитать значение без среза (string), и оно вернулось правильно.

Это анализирует форму с 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.Product, равно [["crm","something"]]. Это создает список списка, вероятно. Я хочу вернуть ["crm","something"].

Ожидается: ["crm","something"] Факт: [["crm","something"]]

1 Ответ

0 голосов
/ 03 апреля 2019

Я понял, что неправильно свернул данные.

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

работал на меня.

...