Yug*_*hra 3 api python-3.x falconframework
如果假设我们想在单个类资源中实现以下端点,有没有办法在单个资源中放置多个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')
Run Code Online (Sandbox Code Playgroud)
从文档 falcon.API.add_route
如果提供后缀,Falcon 会将 GET 请求映射到
on_get_{suffix}(),POST 请求到on_post_{suffix}()等。这样,多个密切相关的路由可以映射到同一个资源。例如,单个资源类可以使用后缀响应者来区分对单个项目的请求与这些相同项目的集合。
| 归档时间: |
|
| 查看次数: |
1279 次 |
| 最近记录: |