-
Notifications
You must be signed in to change notification settings - Fork 218
Custom ValidationException
RFC
#4272
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
base: main
Are you sure you want to change the base?
Conversation
A new generated diff is ready to view.
A new doc preview is ready to view. |
Currently, if there is a constrained shape in the input shape closure of an operation, the operation **must** add `smithy.framework#ValidationException` to the operation's error list, otherwise a build error is raised: | ||
|
||
``` | ||
Caused by: ValidationResult(shouldAbort=true, messages=[LogMessage(level=SEVERE, message=Operation com.aws.example#GetStorage takes in input that is constrained (https://smithy.io/2.0/spec/constraint-traits.html), and as such can fail with a validation exception. You must model this behavior in the operation shape in your model file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this comes from smithy how are you disabling or getting around this validation? Also this seems like something we'd want to upstream to smithy anyway right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, we do this as part of the server code here:
Line 224 in f18c70d
validation exception. You must model this behavior in the operation shape in your model file. |
How to actually implement this RFC | ||
---------------------------------- | ||
|
||
### 1. Create validation exception traits |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it makes sense/what are the implications of getting these implemented upstream in https://github.com/smithy-lang/smithy/tree/main/smithy-model/src/main/java/software/amazon/smithy/model/traits?
Rendered
Motivation and Context
Add an RFC to support custom
ValidationException
. This will allow server developers to use a custom structure Smithy shape as aValidationException
.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.