ASP.NET Web API
-
Make Web API a common component
Right now Web API is viewed as a component under AP.NET MVC. But, in my opinion, it should be available as just a common file template. The file template is available now, but still developers categorize Web API under ASP.NET MVC. Please evangelize Web API such that it will be viewed as a component under ASP.NET core.
It is just my opinion. You may correct me if I am wrong.
2 votes -
Allow the return type for Help samples to be specified by an Attribute
Note that this request is about the default HelpPage code that is added through Nuget, I can fix the code myself, but i'd love to see it baked into the default code (HelpPageSampleGenerator.cs):
The way the Help samples are created based off the return type of the action is cool: If i return a Person then a Person is created with some nice sample values. But most of the time, my actions return an HttpResponse, because I need to control the headers/status codes. This is obviously considered in HelpPageSampleGenerator, there is a comment:
// Do the sample generation based on…
3 votes -
Provide an OData client that allows for shared entity classes
I'd like to see a complementary OData client to go along with ASP.NET Web API OData services.
The current, built-in "WCF Data Service References" in Visual Studio are very "heavy" in nature and don't fit the more modern style of entity programming very well.
In particular, it doesn't support sharing a common set of "code first" entities. The biggest problem is that OData doesn't natively support enumerations, so they end up being converted to "Int" or "String" in the OData data model. A shared entity model would help this problem somewhat, and allow for code reuse.
5 votes -
OData to support Areas
MVC has Areas to support the creation of different components but the Odata implementation does not support this. Specifically I would like to be able to use OData Controllers with the same names as other Web API or MVC controllers.
3 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" }) …3 votes -
Support CREF attribute in ASP.NET Web Api Help Pages
I would really like it if the CREF tag was honored in the WebAPI documentation pages. Example:
<param name="resizeType">The resize type as defined in <see cref="MyModels.ResizeTypeEnum"/></param>
Should dynamically pull information from the summary found at MyModels.ResizeTypeEnum and put it in the Help Page
7 votes -
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.6 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
96 votesWe plan to do this one in the next version of ASP.NET Web API!
-
Support OData changesets for batch/unit of work updating
When using REST services in smart clients or rich JavaScript clients, it is normal to cache changes on the client side and send multiple updates back as a batch. Being able to leverage the change sets support in OData for this would be great.
15 votesThank you for this suggestion. We are investigating adding change set support to ASP.NET Web API OData. It won’t make it in for the first release, but we are considering adding change set support in a future version. Please vote if this feature is important to you.
-
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.
6 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)]
...2 votes -
System.Web.Http.OData: HTTP PATCH with Delta<T> should allow more than just basic objects for properties.
This is a serious limitation to patching.
19 votesA fix is in progress
-
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.
2 votes -
Improve the nonexistent MSDN reference documentation for Web API
I *love* Web API, but this is inexcusable:
http://msdn.microsoft.com/en-us/library/hh833994.aspx12 votesWe are in the process of adding documentation for securing Web API’s on www.asp.net/web-api. Once that work is complete the documentation team plans to work on the MSDN page.
-
Both traditional and verb-based routing cannot be used in the same ApiController
Original discussion here: http://aspnetwebstack.codeplex.com/workitem/184
10 votesWe are looking at having better support for this, in part by making our action selection logic easier to extend.
-
9 votes
We are looking at improving our story around PATCH. Vote this one up if you think this is important!
-
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.
15 votesWe are looking at exposes settings to control this behavior on the XML formatter
-
OAuth Integeration
Integerated OAuth Authentication for Asp.net WebApi including OAuth Service Provider.
45 votesWe currently plan to use OAuth 2.0 as part of our security story for ASP.NET Web API.
-
OData string transform to .NET types
Consider having the following string OData query string:
$filter=(Name eq 'bla)&$skip=5
Would be awesome if you can get the lambda function of $filter. Aswell things like skip, sort field and order, etc.
This would be useful for creating a specific AJAX handler which would filter out a dataset, create Observable data streams (Signalr), etc...
Would be cool if we can extend this parser (get the AST and override parts of the Visitor pattern applied to build an Expression).
Why would you not satisified with only $filter -> Func<T, bool>? Well other collections like (Nhibernate) like to do filtering on a…5 votes -
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.
65 votes
- Don't see your idea?