If you do not use OData, you can also allow the ASP. $format parameter, as long as you add the following three lines of Red bold code in Webapiconfig:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web.Http;using System.Net.Http.Formatting;namespaceprojectmanagementwebappv4{ Public Static classWebapiconfig { Public Static voidRegister (httpconfiguration config) {//Web API Configuration and Services//Web API RoutesCONFIG. Maphttpattributeroutes (); Config. Routes.maphttproute (Name:"Defaultapi", Routetemplate:"Api/{controller}/{id}", defaults:New{id =routeparameter.optional}); CONFIG. Formatters.JsonFormatter.AddQueryStringMapping ( "$format", "json", "Application/json"); Config. Formatters.XmlFormatter.AddQueryStringMapping ("$format", "xml", "Application/xml"); } }}
The first is:using System.Net.Http.Formatting; in fact, it is System.Net.Http.Formatting.dll.
Then:config. Formatters.JsonFormatter.AddQueryStringMapping ("$format", "json", "Application/json");
Config. Formatters.XmlFormatter.AddQueryStringMapping ("$format", "xml", "Application/xml");
And then you're done!
This way, whether in IE, or in chrome, as long as the URL after adding the $format=json or $format=xml parameters, the browser can return the corresponding format of data, and do not have to change the HTTP request header of the Accept media type, This is more convenient when testing the WEBAPI.
The URL is as follows:
Http://localhost:port/api/ProjectManagent? $format =json
Http://localhost:port/api/ProjectManagent? $format =xml
Demo Source code download: original code download
Reference: HTTPS://CODE.MSDN.MICROSOFT.COM/SUPPORT-FORMAT-IN-ASPNET-E3785B2A
Ways to let the ASP. NET Web API support $format parameters