GET和POST方法的单独烧瓶路径

时间:2020-01-03 10:49:24

标签: http flask routing

在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方法,还是应省略并暗示,例如

@app.route("/api/users/")
def users_static():
    ...

1 个答案:

答案 0 :(得分:0)

如果在处理路由的HTTP方法之间有很多通用代码,则可以选择第一种方法。如果没有,您可以将它们分为不同的功能。