【发布时间】:2020-01-03 10:49:24
【问题描述】:
在 Flask 中定义路由时,最好使用定义多个 HTTP 方法的单个路由,并在该单个路由内使用显式逻辑处理不同的 HTTP 方法,例如
@app.route("/api/users/", methods=['GET', 'POST'])
def users():
if request.method == 'GET':
...
elif request.method == 'POST':
...
或使用特定的 HTTP 方法定义多个路由,从而避免每个路由内部的任何显式 HTTP 请求方法逻辑,例如
@app.route("/api/users/", methods=['GET'])
def users_get():
...
@app.route("/api/users/", methods=['POST'])
def users_post():
...
另外,由于 Flask 默认允许在所有路由上使用 GET HTTP 方法,为静态资源定义附加路由的最佳实践是什么? HTTP 方法应该明确说明,如前面代码 sn-p 中的第一个示例,还是省略并因此隐含,例如
@app.route("/api/users/")
def users_static():
...
【问题讨论】: