gpt4 book ai didi

python-3.x - 有没有办法在 Falcon 的单个类资源下添加多个 on_get 方法?

转载 作者:行者123 更新时间:2023-12-04 00:30:13 25 4
gpt4 key购买 nike

如果我们想在单个类资源中实现以下端点,有没有办法放置多个 on_get 单个资源中的方法可以区分每个端点?因为将它们放在一个类下是有意义的,因为它们非常密切相关。

可能的终点:

/api/{id}

/api/v1/{id}

/api/{id}/附加

/api/v1/appended/{id}

最佳答案

是的,在 Falcon 2.0 中, add_route 方法支持 suffix关键字参数允许您为多个端点使用单个资源类。
一些示例代码:

class UserResource:

def on_get(self, req, resp):
resp.media = self.repository.find_all()

def on_get_single(self, req, resp, user_id):
resp.media = self.repository.find_user(user_id)


resource = UserResource()

api = falcon.API()
api.add_route('/users', resource)
api.add_route('/users/{user_id}', resource, suffix='single')

来自 falcon.API.add_route 的文档

If a suffix is provided, Falcon will map GET requests to on_get_{suffix}(), POST requests to on_post_{suffix}(), etc. In this way, multiple closely-related routes can be mapped to the same resource. For example, a single resource class can use suffixed responders to distinguish requests for a single item vs. a collection of those same items.

关于python-3.x - 有没有办法在 Falcon 的单个类资源下添加多个 on_get 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52618265/

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