Python 如何拒绝http请求(抛出一些代码错误)
这是我的代码,我需要将“阻止”返回改为合法请求拒绝,我怎么做Python 如何拒绝http请求(抛出一些代码错误),python,api,flask,request,Python,Api,Flask,Request,这是我的代码,我需要将“阻止”返回改为合法请求拒绝,我怎么做 @app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT']) def add(): data = request.get_json() dt_string = datetime.now() objeto = Requisicao(data,dt_string) if len(lista)<2: li
@app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT'])
def add():
data = request.get_json()
dt_string = datetime.now()
objeto = Requisicao(data,dt_string)
if len(lista)<2:
lista.append(objeto.id)
lista.append(objeto.hora)
return 'PASS'
for i in range(0,len(lista),2):
if lista[i] == objeto.id and objeto.hora < lista[i+1] + timedelta(seconds=10):
return 'BLOCKED'
else:
lista.append(objeto.id)
lista.append(objeto.hora)
return 'PASS'
@app.route('/api/echo-json',方法=['GET',POST','DELETE','PUT']
def add():
data=request.get_json()
dt_string=datetime.now()
objeto=Requisicao(数据,dt_字符串)
如果len(lista)您想返回一个错误,而不是通常的成功?类似这样的方法可能会奏效:
return jsonify(success=False, errors=errors), 500
或者,您可以在Python中引发错误?我会看看这里
您只需返回一个元组,其中第一项是消息,第二项是HTTP错误代码
我不确定从您的代码中您想要返回什么样的响应,但是400(错误请求)可能适合API。以下是完整的列表:
您可能希望返回HTTP错误,如400。有关HTTP错误代码的链接,请参见其他答案。答案的变体,更接近您的代码:
@app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT'])
def add():
...
if ...:
...
return 'PASS'
for ...:
if ...:
return 'BLOCKED', 403
...
你是说HTTP错误代码吗?哪一个?是的,403禁止但拒绝了请求?或者只返回400?只需将400替换为所需的错误代码(相应地编辑)就可以了,这里的错误将是实际错误。例如,在此之前,您可以添加错误='blocked'
@app.route('/api/echo-json', methods=['GET', 'POST', 'DELETE', 'PUT'])
def add():
...
if ...:
...
return 'PASS'
for ...:
if ...:
return 'BLOCKED', 403
...