This article transferred from: http://www.cnblogs.com/liuzhendong/p/4228592.html
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{PublicStaticClassWebapiconfig {PublicStaticvoidRegister (httpconfiguration config) {//Web API Configuration and services//Web API Routes CONFIG. Maphttpattributeroutes (); Config. Routes.maphttproute (name: "defaultapi ", Routetemplate: " "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");
Jsonmediatypeformatter and Xmlmediatypeformatter are two practical media formatters for serializing and deserializing HTTP requests and responses, adding $format parameters to them 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
[Go] methods for enabling ASP. $format Parameters