更新嵌套JSON的Python PUT请求失败

时间:2016-01-31 06:26:00

标签: python json api http python-requests

我正在尝试PUT请求,如下所示,但我一直收到500状态代码。

r=requests.put(url=<URL>, data = <JSON file>)

数据是我从OrderdDict创建的嵌套JSON文件,然后使用json.dumps()命令将其转换为JSON,将Python布尔值转换为JSON布尔值,如下所示:

{"patient_name": "Walter Mitty", "preop_room": "PREOP-7", "or_room": "OR-4", "pacu_bed": "BED 2", "preop_checklist": [true, false, true, false, true, false, true, false, true, false], "or_checklist": [true, false, true, false, true, false, true, false, true, false, true, false, true], "pacu_checklist": [true, false, true, false, true, false, true, false], "location": "OR Room"}

我验证了这个JSON文件,格式正确。但是,当我尝试PUT请求时,我无法弄清楚为什么我会继续获得500状态代码。

1 个答案:

答案 0 :(得分:0)

您似乎必须使用request.put(url=<url>, json=<json-data>)或使用json.dumps(<json-data>)将您的dict明确转换为json,然后才能使用data=<json-data>传递它。

而且,根据您正在讨论的REST Api的实现,您可能需要设置内容类型标题:requests.put(url=<url>, json=<json-data>, headers={ 'content-type': 'application/json' })