POST: необходимо ли сериализовать данные JSON - PullRequest
0 голосов
/ 09 января 2020

My Rest API прекрасно работает при отправке JSON ДАННЫХ.
Я использую это на сервере:

req = request.get_json()
dicti = json.loads(req)
#It(dicti) is then processed.

На клиенте я продолжаю так (используя python запросы):

dat = {'a':1, 'b':2}
serialised_dat = json.dumps(dat)
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
requests.post("myurl", json = serialised_dat, headers = headers)

И все отлично работает. Но когда я go тестирую свой Rest API от других клиентов, таких как бессонница,
я получаю внутреннюю ошибку сервера, что вполне справедливо, потому что json, который я вставляю, не сериализован.
Do Мне нужно сериализовать мой json, а затем вставить его в других клиентов, чтобы добиться успеха? ИЛИ
Является ли сам метод выше, я использую, чтобы отправить json на flask неправильно?

1 Ответ

2 голосов
/ 09 января 2020

Значением аргумента json должен быть объект, который будет сериализован для вас.

requests.post("myurl", json=dat, headers=headers)

Если у вас есть предварительно сериализованные данные, используйте вместо этого аргумент ключевого слова data.

requests.post("myurl", data=json.dumps(dat), headers=headers)
...