【发布时间】:2024-04-20 19:10:02
【问题描述】:
以下内容让我觉得不雅,但它确实有效。有没有办法让 flask-restful 使用 相同的 资源类来处理两种标准的 get(即获取所有内容并获取一项)?
谢谢。
from flask_restful import Resource
# ...
class People(Resource):
def get(self):
return [{'name': 'John Doe'}, {'name': 'Mary Canary'}]
class Person(Resource):
def get(self, id):
return {'name': 'John Doe'}
# ...
api.add_resource(People, '/api/people')
api.add_resource(Person, '/api/people/<string:id>')
【问题讨论】:
-
抱歉,我不这么认为。每当我尝试时,我都会收到“TypeError: get() missing 1 required positional argument”错误。如果位置参数可以是可选的,并且在未传递时设置为 None 会很好,但也许有一个原因它不能那样工作。
-
我终于对它感到非常沮丧,以至于我测试了一个概念证明来替代实现——GIST 在这里bit.ly/1RVzWm9。我相信,并且在这里说过:github.com/flask-restful/flask-restful/issues/114 其原因是 Flask-Restful 遵循了考虑到 Flask 的 add_url_rule 实施的阻力最小的路径。
标签: flask-restful