如何允许路由接受所有类型的方法?
我不只是要路由的标准方法,如HEAD,GET,POST,OPTIONS,DELETE和PUT.
我希望它也接受以下方法:FOOBAR,WHYISTHISMETHODNAMESOLONG和其他所有可能的方法名称.
Chr*_*ert 14
要快速启用所有HTTP 请求方法,而不route需要手动向 Flask 添加规则url_map,请修改route定义如下:
from flask import request
HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH']
@app.route('/', methods=HTTP_METHODS)
def index():
return request.method
Run Code Online (Sandbox Code Playgroud)
Daz*_*all 12
您可以直接更改url_map,方法是添加一个Rule没有方法:
from flask import Flask, request
import unittest
from werkzeug.routing import Rule
app = Flask(__name__)
app.url_map.add(Rule('/', endpoint='index'))
@app.endpoint('index')
def index():
return request.method
class TestMethod(unittest.TestCase):
def setUp(self):
self.client = app.test_client()
def test_custom_method(self):
resp = self.client.open('/', method='BACON')
self.assertEqual('BACON', resp.data)
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
methods此规则适用的一系列http方法.如果未指定,则允许所有方法.
| 归档时间: |
|
| 查看次数: |
4466 次 |
| 最近记录: |