将额外的参数传递给 Sanic 的 post
Passing extra argument to Sanic's post
情况是我得到了离开我办公室的人的密码。他用过Sanic框架。现在,客户要求进行一些更改。我必须向服务器发送额外的数据,这些数据将存储在数据库中,稍后可以检索。
代码:
之前的代码是:
def send_update_to_server(v_Number, state, server_url):
data = {'state': state}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, json=data)
所以,为了发送额外的数据,我添加了我要发送的变量:
def send_update_to_server(v_Number, state, server_url, new_number):
data = {'state': state}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, new_number, json=data)
Sanic这边的post方法是:
async def post(self, request, *args, **kwargs):
//some_code
现在,我无法检索使用 requests.post 从我的代码发送的 new_number。任何人都可以帮助我吗?我对服务器端编程很陌生,尤其是 Sanic。如果需要,我很乐意提供额外的代码。
发送到 Sanic 端点的所有 json 数据都可用 request.json
,请参阅 docs。
那么,看来您只需要执行以下操作即可:
def send_update_to_server(v_Number, state, server_url, new_number):
data = {'state': state, 'new_number': new_number}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, json=data)
然后,您可以在处理程序中读取它:
from sanic.response import text
async def post(self, request, *args, **kwargs):
return text(request.json.get("new_number"))
情况是我得到了离开我办公室的人的密码。他用过Sanic框架。现在,客户要求进行一些更改。我必须向服务器发送额外的数据,这些数据将存储在数据库中,稍后可以检索。
代码:
之前的代码是:
def send_update_to_server(v_Number, state, server_url):
data = {'state': state}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, json=data)
所以,为了发送额外的数据,我添加了我要发送的变量:
def send_update_to_server(v_Number, state, server_url, new_number):
data = {'state': state}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, new_number, json=data)
Sanic这边的post方法是:
async def post(self, request, *args, **kwargs):
//some_code
现在,我无法检索使用 requests.post 从我的代码发送的 new_number。任何人都可以帮助我吗?我对服务器端编程很陌生,尤其是 Sanic。如果需要,我很乐意提供额外的代码。
发送到 Sanic 端点的所有 json 数据都可用 request.json
,请参阅 docs。
那么,看来您只需要执行以下操作即可:
def send_update_to_server(v_Number, state, server_url, new_number):
data = {'state': state, 'new_number': new_number}
address_to_send = "http://{}/vote/{}".format(server_url, v_Number)
r = requests.post(address_to_send, json=data)
然后,您可以在处理程序中读取它:
from sanic.response import text
async def post(self, request, *args, **kwargs):
return text(request.json.get("new_number"))