Validation of pydantic models in query params #11243
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a pydantic model is supplied as params and auto cast via fastapi.Depends() the models config is ignored:
Take a look at this example:
This assert will pass, since the config is ignored. This is a result of all the params field getting validated separately in
solve_dependencies
instead of together as is done withbody_params
.While there are workarounds as discussed here, this is not a satisfactory state considering the otherwise great compatibility with pydantic.
This PR addresses this by doing a validation for the model as a whole for query params as well.