Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从外部API函数重定向烧瓶_Python_Flask_Flask Restful - Fatal编程技术网

Python 从外部API函数重定向烧瓶

Python 从外部API函数重定向烧瓶,python,flask,flask-restful,Python,Flask,Flask Restful,我在Flask应用程序中有一个helper方法,几个端点使用它来获取资源。为了避免到处都有多个redirect\u url调用,我希望能够从这个helper方法重定向。如图所示,抛出RequestRedirect异常将正确返回301响应,但不会设置内容位置错误。为了解决这个问题,我在这个请求之后添加了一个钩子,用于设置该响应的url 这似乎是正确的,但我想知道是否有一个更优雅的方式去做 匿名助手方法: def get_resource(resource_id): try:

我在Flask应用程序中有一个helper方法,几个端点使用它来获取资源。为了避免到处都有多个
redirect\u url
调用,我希望能够从这个helper方法重定向。如图所示,抛出
RequestRedirect
异常将正确返回
301
响应,但不会设置
内容位置
错误。为了解决这个问题,我在这个请求之后添加了一个
钩子,用于设置该响应的url

这似乎是正确的,但我想知道是否有一个更优雅的方式去做

匿名助手方法:

def get_resource(resource_id):
    try:
        # Some logic
    except:
        @after_this_request
        def add_header(response):
            response.headers['Content-Location'] = url
            return response
        raise RequestRedirect(new_url='/')

如果它在api之外,通常会重定向到404页面。以下是一个示例:

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404