aspnetcore/test/WebSites
Ryan Nowak 09928a2818 Adds parameter information to ApiExplorer
This change makes ApiDescription and ApiParameterDescription aware of all
of the new features we built into model binding for enhanced DTO support
(uber-binding).

The main change is that instead of sticking just to the declared
parameters on the action itself, we now traverse model metadata and break
the parameters down based on their logical data source.

This means that a model like the below will yield 3 parameters:

public class ProductChangeCommandDTO
{
    public int Id { get; set; }

    [FromBody]
    public ProductDetails Changes { get; set; }

    [FromQuery]
    public string AdminComments { get; set; }

    [FromServices]
    public IProductRepository Repository { get; set; }
}

The 'Repository' will be hidden, as it's not related to user input.

Additionally, we treat different sources differently. In the
above example, 'Changes' is from the body and will be treated as a
leaf-node.

However if you use nested DTOs that are bound from the query string (using
[FromQuery]) or similar, we'll recursively explore to find as much
structure as possible.

This information is combined with data from the route template to give a
much more complete picture than we ever could in the past for parameters,
especially when DTO/Command pattern is used.
2015-01-22 13:30:41 -08:00
..
ActionConstraintsWebSite
ActionResultsWebSite
ActivatorWebSite
AddServicesWebSite
AntiForgeryWebSite Revert "Revert "Added SetAntiForgeryCookieAndHeader method that sets cookie token and header"" 2015-01-20 10:51:44 -08:00
ApiExplorerWebSite Adds parameter information to ApiExplorer 2015-01-22 13:30:41 -08:00
ApplicationModelWebSite
AutofacWebSite
BasicWebSite
CompositeViewEngineWebSite
ConnegWebSite [Fixes #1836]SupportedMediaTypes for output formatters are incorrectly updated with charset data during requests 2015-01-20 06:50:06 -08:00
CustomRouteWebSite
ErrorPageMiddlewareWebSite
FilesWebSite Handle HttpFeature rename 2015-01-18 21:06:12 -08:00
FiltersWebSite Fix for #384 - And some other changes to controller as filter 2015-01-16 19:15:59 -08:00
FormatterWebSite
InlineConstraintsWebSite
LoggingWebSite
Microsoft.AspNet.Mvc.TestConfiguration
ModelBindingWebSite Fix for #1722 - FromHeader does not respect default value 2015-01-16 17:59:00 -08:00
MvcTagHelpersWebSite
PrecompilationWebSite
RazorInstrumentationWebsite
RazorViewEngineOptionsWebsite Handle IFileSystem rename. 2015-01-20 12:16:30 -08:00
RazorWebSite Layouts for partials 2015-01-20 11:44:48 -08:00
RequestServicesWebSite
ResponseCacheWebSite
RoutingWebSite
TagHelpersWebSite
UrlHelperWebSite
ValueProvidersWebSite
VersioningWebSite
ViewComponentWebSite
WebApiCompatShimWebSite
XmlSerializerWebSite