如果路线中有任何路径参数,我们如何在猎鹰中间件中获得路径参数?

Nil*_*oni 5 python falcon python-requests falconframework

我的路线如下:

app.add_route('/v1/my_route', MyResource())
app.add_route('/v1/my_route/{app_id}', MyResource())
app.add_route('/v1/my_route2/any_route', AnyRouteResource())
app.add_route('/v1/my_route2/any_route/{app_id}', AnyRouteResource())
Run Code Online (Sandbox Code Playgroud)

和中间件类似

class MyMiddleware(object):
    def process_request(self, req, resp):
        /** Here i want to get <app_id> value if it is passed **/
Run Code Online (Sandbox Code Playgroud)

Jav*_*ock 4

您可以从 中获取请求对象的每个属性req。例如,要获取资源的路径:

class MyMiddleware(object):
    def process_request(self, req, resp):
        path = req.path

        # process your path here
Run Code Online (Sandbox Code Playgroud)

查看文档以获取有关请求的更多信息。

如果你想直接获取app_id,只需用params扩展该方法,falcon就会完成这项工作。

class MyMiddleware(object):
        def process_request(self, req, resp, params):
            app_id = params["app_id"]
Run Code Online (Sandbox Code Playgroud)