我正在尝试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状态代码。
答案 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' })