Doug Bunting
5c8dfef15e
Change `CollectionModelBinder` and `ComplexTypeModelBinder` to enforce `[BindRequired]`
...
- #8180
- add an error when binding fails for top-level model
- same case as when MVC creates "default" / empty model i.e. `ParameterBinder` can't detect this
- update `CollectionModelBinder` subclasses and the various providers as well
- controlled by existing `MvcOptions.AllowValidatingTopLevelNodes` option
smaller issue:
- change `ModelBinding_MissingBindRequiredMember` resource to mention parameters too
2018-09-21 11:08:16 -07:00
Ryan Nowak
5c4c746797
Reaction PR from routing rename
2018-09-20 10:15:50 -07:00
Doug Bunting
47d6d4e82c
Update `FormFileModelBinder` to re-add prefix `ParameterBinder` removed incorrectly
...
- #7562 part 2
- add `OriginalModelName` to `ModelBindingContext`
nit: take VS suggestions, mostly to inline collection initialization in `FormFileModelBinderTest`
2018-09-18 11:44:48 -07:00
Doug Bunting
c13e2498a8
Create model in `ComplexTypeModelBinder` if ANY property has a greedy binding source
...
- #7562 part 1
2018-09-18 11:44:37 -07:00
Pranav K
233140c33a
Allow IFormFile parameters annotated with [FromForm] to be correctly … ( #8452 )
...
* Allow IFormFile parameters annotated with [FromForm] to be correctly bound in ApiControllers
Fixes #8311
2018-09-14 09:06:32 -07:00
Pranav K
cb88e906b2
Allow ProducesAttribute to apply along with conventions
...
Fixes #8389
2018-09-12 13:58:02 -07:00
Pranav K
13281613a5
Refactor DefaultPageApplicationModel to use conventions
2018-09-12 12:28:16 -07:00
Simon Cropp
43d4416a1d
Fix typos ( #8413 )
2018-09-12 09:34:45 -07:00
James Newton-King
dfae9c208a
Add IParameterTransformer support ( #8329 )
2018-09-12 21:46:41 +12:00
James Newton-King
105f8b47a1
Fix endpoint support for area/controller/action in attribute route ( #8447 )
2018-09-12 21:16:50 +12:00
James Newton-King
6e27a04bf3
No HttpContext to route constraints in MvcEndpointDataSource ( #8436 )
2018-09-11 10:12:09 +12:00
Ryan Nowak
f573b8840a
Fix aspnet/Routing#782
...
Currently MVC is still running the IActionConstraint implementations for
features that we've already moved into the routing layer. This has a
significant perf cost associated with, and so we want to skip it because
it's redundant. However if anyone has implemented their own
`IActionConstraint`-based features, they still need to just work.
This change takes the approach of skipping the action constraint phase
at runtime unless we see something 'unknown'. This is an all or nothing
choice, and will run action constraints if **any** action constraint we
don't special case exists. This is the most compatible behavior (running
redundant constraints) when the application is using constraints that
the developer implemented.
Another approach I considered was to eliminate these constraints as part
of the process of building ADs. I don't think that's ideal because
people have written code that introspects action constraints. We should
consider something like this in 3.0.
2018-09-09 15:17:05 -07:00
James Newton-King
863b1c2c97
Action endpoint metadata contains attributes from action and controller ( #8395 )
2018-09-07 10:01:40 +12:00
Simon Cropp
b156dee4f1
Fix some spelling ( #8378 )
2018-09-06 07:39:01 -07:00
Ryan Nowak
fabe189470
React to LinkGenerator changes
2018-09-05 20:52:37 -07:00
Pranav K
f90a47c5af
Introduce ProducesErrorResponseTypeAttribute
...
Fixes https://github.com/aspnet/Mvc/issues/8288
2018-08-30 11:24:03 -07:00
James Newton-King
927e7c8bfc
Support route data tokens with Endpoint Routing ( #8360 )
2018-08-30 15:14:34 +12:00
Pranav K
82a01a414d
Set trace id in ProblemDetalsClientErrorFactory
2018-08-29 16:03:08 -07:00
James Newton-King
b649133eec
Refactor KnownRouteValueConstraint to not require HttpContext ( #8352 )
2018-08-30 08:57:53 +12:00
James Newton-King
28f96bf832
Fix obsolete build warning ( #8358 )
2018-08-30 08:16:57 +12:00
Pranav K
667ad4daff
Use ClientErrorData to configure ClientErrorResultFilter
...
Fixes #8289
2018-08-28 13:35:32 -07:00
Ryan Nowak
0fcf2448c3
Fix aspnet/Routing#722
...
Exposes a separate change token that will be triggered after action
descriptors have been updated.
2018-08-27 17:24:21 -07:00
James Newton-King
8ed9d0aac2
Use Endpoint instead of RouteEndpoint where possible ( #8331 )
2018-08-28 11:00:11 +12:00
Ryan Nowak
a634f6b116
add another test
2018-08-27 15:34:37 -07:00
Ryan Nowak
cb0627b28a
Addressing a skipped test
...
I think something that was meant to be revisited in a PR got left
behing. I found this while fixing aspnet/Routing#772 and it seems worth
addressing.
This change removes the hardcoding of action/controller/area in the
data source, and corrects the behavior of required route values when
they aren't in that set.
2018-08-27 15:34:37 -07:00
Pranav K
a7301120b1
Unwrap filter factories in TypeFilterAttribute & ServiceFilterAttribute
...
Fixes #7855
2018-08-24 14:15:40 -07:00
Pranav K
8eea0ad44c
Update tests to latest compat switch
2018-08-23 08:09:02 -07:00
James Newton-King
e2de54a92d
Update MvcEndpointDataSource to use RoutePattern ( #8249 )
2018-08-23 21:42:42 +12:00
James Newton-King
cbe1526763
React to routing changes ( #8303 )
2018-08-22 17:15:09 +12:00
Pranav K
5bd818bd64
Introduce ProblemDetailsFilter
...
Fixes https://github.com/aspnet/Mvc/issues/6786
2018-08-21 17:29:12 -07:00
Pranav K
522006d2c8
[Design] Add a MaxValidationDepth option to ValidationVisitor
...
Fixes #7357
2018-08-16 15:01:18 -07:00
Kristian Hellang
2421ae8c83
Add IStatusCodeActionResult ( #8265 )
...
* Add IStatusCodeActionResult
* Add unit test for explicitly implemented property on StatusCodeResult
2018-08-13 15:39:20 -07:00
Ikebe Shodai
b78063d2d4
Fix locale sensitive unit tests
2018-08-11 02:53:52 +09:00
Kiran Challa
c16f86f0ef
React to Routing repo's api changes
2018-08-03 16:25:41 -07:00
James Newton-King
ac410b76d9
Change MvcEndpointInfo to internal ( #8210 )
2018-08-03 16:30:57 +12:00
Pranav K
ce8fc29728
ConsumesAttribute accepts requests without content type
...
Fixes #8174
2018-08-02 16:27:23 -07:00
Ryan Nowak
2b289d2f2c
Use MatcherPolicy for Consumes
2018-08-01 19:05:04 -07:00
James Newton-King
44f5b54f5f
React to routing API review ( #8194 )
2018-08-02 13:37:43 +12:00
James Newton-King
046af405b6
Rename global routing to endpoint routing ( #8179 )
2018-08-01 15:05:49 +12:00
Justin Kotalik
367717760b
Handle subtype with suffix being a subtype without a suffix ( #8170 )
2018-07-30 12:05:41 -07:00
Pranav K
0102d4efab
Introduce ApiConventionMethodAttribute
...
Fixes #8147
2018-07-30 11:13:25 -07:00
James Newton-King
41de26a546
Add UseMvc unit tests ( #8164 )
2018-07-29 16:58:50 +12:00
Ryan Nowak
fbae57cde1
React to the removal of EndpointConstraint
2018-07-28 19:03:16 -07:00
James Newton-King
c01c7075be
Add EndpointMetadata to ActionDescriptor and hookup CORS ( #8158 )
2018-07-28 16:12:54 +12:00
Doug Bunting
556880872d
Ensure later validations of `null` models do not overwrite `Invalid` state
...
- #8078
2018-07-26 13:49:22 -07:00
James Newton-King
f31ab716ee
Change MvcEndpointDataSource to use GetChangeToken ( #8137 )
2018-07-26 09:20:26 +12:00
Kiran Challa
10ce77b9ca
Updated MvcEndpointDataSource to create endpoints with SuppressLinkGenerationMetadata
2018-07-25 06:41:57 -07:00
Kiran Challa
630aeade07
Added tests related to generating urls with route name
2018-07-24 15:06:16 -07:00
Ryan Nowak
196e3f109f
React to Routing branding
...
This is a reaction PR for the branding changes in progress in Routing.
This can be merged after the changes to in to Routing.
2018-07-22 19:47:15 -07:00
Ryan Nowak
3ba6f35495
React to RoutePattern changes in Routing
2018-07-20 12:57:43 -07:00