JSON над POST с завитком (в пилоны) - PullRequest
3 голосов
/ 23 августа 2011

У меня есть действие контроллера пилонов, которое принимает POST

@restrict('POST')
def myaction(self):

    payload = json.loads(request.body)

Я поместил правильно сформированный JSON (я могу сделать json.loads из него из командной строки python) в файл.Я использую следующую команду для отправки его на контроллер:

$ curl -F payload=@./myfile -X POST -H 'Content-type:application/json' -v http://localhost:5000/mycontroller/myaction

на стороне контроллера, я ожидаю, что правильно сформированный JSON, но вместо получения JSON в request.body Iполучаю строку с другими вещами вроде

----------------------- 6588b6680ebb \ r \ nContent-Disposition: form-data;

перед строкой, содержащей строковое представление JSON, которую я отправил myaction

Что я делаю не так?

1 Ответ

5 голосов
/ 23 августа 2011

Параметр -F предназначен для многокомпонентного контента, вместо него следует использовать --data / -d:

$ curl --data @./myfile -X POST -H 'Content-type:application/json' -v http://localhost:5000/mycontroller/myaction
...