![](/img/trans.png)
[英]POST request response 422 error {'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}
[英]python : {'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}
我正在使用 fastapi,當我使用以下代碼發送帖子時,它返回以下錯誤:
{'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}
我的代碼是:
import requests
import json
import datetime
def main():
time = datetime.datetime.now().isoformat()
transaction = {
"time": time,
"sender": "COCOCOCO",
"receiver": "AAAAAA",
"amount": AAA,
"description": "Christmas Dinner Fee",
"signature": "signature_sample"
}
url ="https://XXXXXX.deta.dev/transaction_pool/"
res = requests.post(url, json.dumps(transaction))
print(res.json())
if __name__ == "__main__":
main()
我如何解決它?
您在 POST 請求中發送的內容不是有效的字典 object。可能是您在發送請求之前將“交易”字典轉換為帶有 json.dumps 的 JSON 字符串。 這將導致請求包含 JSON 字符串而不是 Python 字典 object。
您可以使用 json 參數直接在請求中發送字典,而不是使用 json.dumps。 這會在發送之前自動將字典轉換為 JSON 字符串:
res = requests.post(url, json=transaction)
您還可以使用 json() 方法發送轉換為 json object 的字典,
res = requests.post(url, data=json.dumps(transaction))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.