python - TypeError: 'dict' 对象在使用 request.json() 时不可调用
问题描述
每次我尝试通过 request.json() 从请求中获取 JSON 时,都会发生错误“dict object is not callable”。例如,
from bottle import run, request, post
@post('/')
def test():
data = request.json()
run(host='localhost',port=8080)
使用 curl 进行测试,
curl -H "Content-Type: application/json" -d '{"test":"test"}' -X POST http://localhost:8080/
这是输出,
Traceback (most recent call last):
File "C:\Users\javir\AppData\Local\Programs\Python\Python38\lib\site-packages\bottle.py", line 868, in _handle
return route.call(**args)
File "C:\Users\javir\AppData\Local\Programs\Python\Python38\lib\site-packages\bottle.py", line 1748, in wrapper
rv = callback(*a, **ka)
File "d:/Workspace Universidad/SD-P3/test.py", line 5, in test
data = request.json()
TypeError: 'dict' object is not callable
127.0.0.1 - - [12/May/2020 12:43:42] "POST / HTTP/1.1" 500 741
无论内容如何,我总是遇到同样的错误。有谁知道它可能是什么?
解决方案
()
在 python 中,当您在变量之后包含 a 时,会发生“调用” 。TypeError: 'dict' object is not callable
仅仅意味着那request.json
是一个dict
并且不能被调用。删除()
后request.json
。
@post('/')
def test():
data = request.json
推荐阅读
- eiffel - Eiffel:创建过程的最佳实践
- sql - SQL:选择查询的逆
- javascript - 调用 Promise.all 时如何保留 Typescript 返回类型?
- javascript - onclick 不会转到 javascript 函数
- java - Java 8:类和接口和线程创建中的主要方法的区别
- nlp - 空间更新NER
- c++ - 资源管理设计模式
- modal-dialog - 需要关闭 Windows 10 IoT Embedded 系统上的模态对话框
- ajax - Laravel 5.7 9 Yajra 数据表删除按钮
- angular - 为什么 onSelectionChange 被调用了两次?