所以我需要在一个类中有一些路由,但是路由方法需要有 self
attr(访问类的属性)。但是,FastAPI 然后假设 self
是它自己的必需参数,并将其作为查询参数放入
这就是我所拥有的:
app = FastAPI()
class Foo:
def __init__(y: int):
self.x = y
@app.get("/somewhere")
def bar(self): return self.x
但是,这会返回 422
除非你去 /somewhere?self=something
。这个问题是 self
然后是 str,因此没用。
我需要一些方法,我仍然可以访问 self
而无需将其作为必需参数。
原文由 eek 发布,翻译遵循 CC BY-SA 4.0 许可协议
要创建基于类的视图,您可以使用来自 fastapi-utils 的 @cbv 装饰器。使用它的动机:
您的示例可以这样重写: