gpt4 book ai didi

python - 从 falcon 中的参数化路由路径解析 uuid

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:01 24 4
gpt4 key购买 nike

我有一个 falcon 应用程序,它带有用于获取资源的参数化路径。用户不知道资源的uuid,因为它是临时的,所以需要重定向。

用户将发出 GET/transaction 请求,并重定向到 302 找到响应的返回路径。

如何解析请求路径中的uuid?

应用看起来像这样:

api = falcon.API()
api.add_route('/transaction', Transaction)
api.add_route('/transaction/{id}', TransactionItem))

资源是这样的:

class Transaction(object):    

def on_get(self, req, resp):
id = get_current_id()
resp.status = falcon.HTTPFound('/TransactionItem/{}'.format(id))

class TransactionItem(object):
def on_get(self, req, resp):
// Parse id from path?
transaction = get_transaction(id)
// ...
// include info in the response, etc
resp.status = falcon.HTTP_200

最佳答案

好的。

Flacon 将匹配的路由 fields 作为关键字参数传递。这意味着在您的 TransactionItem 类中您的 on_get 必须具有其中一个(您可以选择一个对您来说更清楚的)给定定义:

# 1st way
def on_get(self, req, resp, id=None):
...

# 2nd way (**kwargs catches all keywords args)
def on_get(self, req, resp, **kwargs):
id = kwargs.get('id')

传递的字段将默认传递为str如果你想让它被falcon转换你可以使用Falcon中的内置函数UUIDConverter

这里是转换器的文档:https://falcon.readthedocs.io/en/stable/api/routing.html#falcon.routing.UUIDConverter

关于python - 从 falcon 中的参数化路由路径解析 uuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com