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: