ASP.NET Web API
-
Support Nested Routes
MVC has areas, which would work nicely for this. My thoughts behind this are that it's nice to package functionality as modules, and areas serve that purpose well in MVC apps. Of course, it would be nice to be able to host nested areas, as well.
137 votes -
126 votes
-
Execution Order of Mvc4 WebApi Action Filters
There is no way to forecast the execution order of WebApi Action Filters. It changes randomly each time the code is changed. It would be nice to have an integer property to control the order like in normal Mvc controllers, but also respecting the order they are put on the action method would be acceptable
119 votesWe plan to do this one in the next version of ASP.NET Web API!
-
Support OutputCache on WebAPI calls
In ASP.NET MVC it easy to cache the output of a call by applying the outputcache attribute. A similar feature for WebAPI would help for cacheable resources.
82 votes -
Support Depenedency Injection on MessageHandlers
Support Depedency Injection for MessageHandlers by resolving the message handlers out of the ServiceResolver or providing a MessageHandlerFactory similar to the old WebApiConfiguration.MessageHandlerFactory.
42 votesLet us know if you care about broader dependency injection support by voting for this one.
-
Please provide a 'how to write unit test for Web Api' including using Task/async ApiControllers'
The section on learning Web API needs to have a topic around writing unit tests. Web API home pages says it's 'easy to test' but then there are no topics around it. Please add a topic on unit testing
41 votesWe’ve made a bunch of improvements around unit testing in ASP.NET Web API 2. You can read about some of the improvements here:
http://aspnetwebstack.codeplex.com/wikipage?title=Improving%20ApiController%20testability
You should also check out the work we have done with IHttpActionResult and HttpRequestContext to make unit testing even easier.
-
Impovements in ApiExplorer
Right now it's impossible to add documentation of the multipart form data parameters and exclude / rename Model Binder arguments.
38 votes -
Enhance the routing API
While I was working on WebAPIContrib I found several issues with the Routing API. I described it in more detail here: http://pedroreys.com/2012/03/14/asp-net-web-api-routing-needs-a-hug/
34 votes -
Support OData Groupping Agregates Rollup
Support in Asp.Net Web Api OData for Groupping Agregates Rollup...
http://cwebbbi.wordpress.com/2012/06/12/odata-extensions-for-data-aggregation/
https://www.oasis-open.org/committees/download.php/46084/ODataExtensionforDataAggregationv1.0.pdf
21 votesIf this feature is of interest to you then please vote here and also make a request through the Issue Tracker at http://odata.codeplex.com as this would need to be implemented first in ODataLib.
-
Remove Ambient Namespaces From Serialized XML
Currently the XML serialisers both output namespaces that are not required:
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
I'm not sure about the Data Contract serializer, but it is not difficult to supress these...
Just pass into the Serialize method an XmlSerializerNamespaces:
var xmlSerializerNamespaces = new XmlSerializerNamespaces();
xmlSerializerNamespaces.Add(String.Empty, defaultNamespace);var xmlSerializer = new XmlSerializer(objectType);
xmlSerializer.Serialize(xmlWriter, toBeSerialised, xmlSerializerNamespaces);Where defaultNamespace could be set on the GlobalConfiguration.Configuration.Formatters.XmlFormatter or it could be read from the XmlRoot attribute (if present) on the object being serialised.
16 votesWe are looking at exposes settings to control this behavior on the XML formatter
-
Add ASP.NET MVC view generation features to ASP.NET Web API
I think maintaining and working with ASP.NET MVC and ASP.NET Web API side by side in the same project is a drain on development resources and support cost.
I would like to use ASP.NET Web API to generate Razor views via an additional NuGet package rather then relying on ASP.NET MVC.12 votesWe plan to do work to better align ASP.NET MVC and Web API in our next release
-
9 votes
We are looking at improving our story around PATCH. Vote this one up if you think this is important!
-
Use Reflection to Auto Populate the Allow Header
Based on the current Route being executed, it should be possible to detect HTTP methods the same route supports and therefore populate the Allow header in the response. e.g. whilst performing a GET on /api/values it should be possible to detect that the route supports both GET and POST (in fact the code I presume already has this list so that it knows which Action to call). The Allow header could then be populated with GET, POST.
The icing on the cake would be that the Authorize attribute is still checked so if the caller does not have permission to…
8 votes -
Add a fluent OData query configuration API
In the current release of OData Web API, security for queries is applied via the Queryable attribute or via ODataQueryOptions. The current system lacks any built-in method for restricting which fields can be used with the $filter query option. Implementing a trivial list of fields that support $filter is difficult, given that it can apply to relations.
Instead, consider adding a "fluent" configuration API that captures this information at the entity level and allows orderby & filter to be "entity model aware" (for lack of a better term).
For example,
var settingsBuilder = ODataConventionSettingsBuilder();
settingsBuilder.Entity<Order>().OrderByProperties("Id");
settingsBuilder.Entity<Order>()
.OrderByProperties({ "Id", "Name" }) …8 votes -
Make WebAPI support everything MVC does minus views.
I think most people expectations would rightfully (IMHO) that WebAPI would support everything MVC does minus any view rendering or ActionResult overhead. When I search the web I see many comments relating to "I can do X in MVC but not in WebAPI". Example: Multipart/form-data or jsonp handling works in MVC out of the box.
8 votes -
Add SSL to HttpMethodAttribute
Add an optional parameter to the HttpMethodAttributes to enforce SSL on methods/actions eg.
[HttpGet(SSL=Required)]
public .... Get(){}[HttpPost(SSL=Optional)]
...[HttpPut(SSL=NotSupported)]
...7 votes -
Mono-For-Android-compatible version of Web Api client
The current Web Api Client is not compatible with Mono For Android, and trying to use HttpWebRequest and OData from Android mobile app. is a pain. Not sure about the amount of effort involved, but the author of Json.Net recently provided an mfa-compatible version, packaged as a Portable Class Library.
7 votes -
Add System.Web.Http.ModelBinding.HttpPostedFileBaseModelBinder to mirror the System.Web.Mvc.HttpPostedFileBaseModelBinder
The System.Web.Mvc.HttpPostedFileBaseModelBinder class works well.
Can it be mirrored for the Web API
4 votes
- Don't see your idea?