Как получить form.Value типа строки [] из echo.Context.MultipartForm()

Я анализирую форму 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 ответ

Решение

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

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

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

Другие вопросы по тегам