[release/9.0] Don't throw exception for parameters with custom binding source #59533
+27
−1
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.
Backport of #59035 to release/9.0
/cc @captainsafia
Description
This change ensures that parameters with custom binding sources do not throw exceptions. Users will need to set the parameter location themselves via transformers, as this information cannot be determined implicitly. Additionally, if users want to specify a custom binder for a parameter from the body, they must define the binding source correctly on the model binder to ensure the argument appears under the requestBody field of the operation instead of the parameters field.
Fixes #59013
Customer Impact
No accessible workarounds are available for this change. This impacts APIs that use third-party packages which implement custom model binding rules for parameters sourced from the request's URL route, like Oqtane and Asp.Versioning.
Regression?
Risk
Low risk because change is localized to:
Verification
Packaging changes reviewed?