tornado本身是不支持直接获取json入参的,在BaseHandler中定义方法get_json_argument,以供调用
class BaseHandler(tornado.web.RequestHandler):
def __init__(self, *argc, **argkw):
super(BaseHandler, self).__init__(*argc, **argkw)
self.session = session.Session(self.application.session_manager, self)
def get_current_user(self):
return self.session.get("user_name")
def get_json_argument(self, name, default=None):
args = json_decode(self.request.body)
name = to_unicode(name)
if name in args:
return args[name]
elif default is not None:
return default
else:
raise tornado.web.MissingArgumentError(name)
然后 在你的类视图就可以 调用 self.get_json_argument
class TestHandler(BaseHandler):
async def post(self, *args, **kwargs):
user_id = self.get_json_argument("user_id")
本博客源码Github地址:
请随手给个star,谢谢!