Отправка запроса POST в конечную точку приводит к тому, что «элемент привязки должен быть структурой» - PullRequest
0 голосов
/ 13 июля 2020

У меня есть конечная точка, которую я написал в Go с помощью библиотеки Echo. Я пытаюсь отправить данные POST с помощью сценария python, но получаю ошибку «элемент привязки должен быть структурой».

Код из конечной точки, где я привязываю тело запроса к переменной (Go lang ):

// get body from request
requestBody := make(map[string]interface{})
    if err := c.Bind(&requestBody); err != nil {
        return err
    }

Python скрипт:

data = {
    "AED": {
        "USD": 0.2719
        },
    "ARS": {
        "USD": 0.0142
    }
}

 headers = {
        "Authorization": # my_jwt_token,
        "API-Key": # my api_key
    }

 requests.put(url, data=payload, headers=headers)
 
 if not response.ok:
     raise Exception("Failed to update")

 return result.status_code

Сообщение об ошибке:

{"logType":"application","msg":"Status: 400, Error: code=400, message=binding element must be a struct, Title: Client Error, Message: binding element must be a struct, Detail: ","action":"Error Handler","level":"error","timestamp":"2020-07-13T13:39:19-07:00"}

Почему это происходит? Я могу использовать Postman для отправки точно такой же полезной нагрузки, и он работает нормально, но отправка запроса PUT с библиотекой запросов python не работает.

1 Ответ

0 голосов
/ 14 июля 2020

Разобрался. Поле "данные" в почтовом запросе следует изменить на "json".

...