fast-api-redundant-response-model (FAST001)
Derived from the FastAPI linter.
Fix is always available.
This rule is unstable and in preview. The --preview
flag is required for use.
What it does
Checks for FastAPI routes that use the optional response_model
parameter
with the same type as the return type.
Why is this bad?
FastAPI routes automatically infer the response model type from the return type, so specifying it explicitly is redundant.
The response_model
parameter is used to override the default response
model type. For example, response_model
can be used to specify that
a non-serializable response type should instead be serialized via an
alternative type.
For more information, see the FastAPI documentation.
Example
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
@app.post("/items/", response_model=Item)
async def create_item(item: Item) -> Item:
return item
Use instead: