-
Notifications
You must be signed in to change notification settings - Fork 421
Feature request: Custom response validation status code on routes #6245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey @amin-farjadi! Thanks a lot for opening this issue and sorry for late reply! Since now we have the global response validation http code, we can move on per route implementation. I have some considerations: 1/ What about from aws_lambda_powertools.event_handler import APIGatewayRestResolver
app = APIGatewayRestResolver(
enable_validation=True,
response_validation_error_http_code=HTTPStatus.INTERNAL_SERVER_ERROR,
)
@app.get(
"/c",
response_validation_error_http_code=403, # will overwrite the global, returning 403
)
def handler_route_c() -> Model:
return {"age": 18} # type: ignore
@app.get(
"/d" # will return the global one, which is 500
)
def handler_route_d() -> Model:
return {"age": 18} # type: ignore Please let me know what you think. |
|
Use case
I have an api gateway resolver with numerous routes and validation enabled. For route "/a" the default if the response cannot be validated against the route's function's annotation would be a
422
response. I want route "/b" however, to return a500
if its response could not be validated and route "/c" to return a403
.Solution/User Experience
Alternative solutions
Acknowledgment
The text was updated successfully, but these errors were encountered: