निम्नलिखित webapiconfig को देखते हुए के आधार पर xml या MVC वेब एपीआई से json लौटें;या तो अनुरोध
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
और यह नियंत्रक;
public class ProductsController : ApiController
{
Product[] _products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> GetAllProducts()
{
return _products;
}
}
यूआरएल http://localhost/api/Products
का उपयोग करते हुए मैं XML स्वरूप में उत्पादों की एक सूची मिलता है।
मैं करना चाहते हैं क्या या तो JSON या XML अनुरोध के आधार पर लौटने के लिए विकल्प होता है है। तो जेसन के लिए, यह होगा;
http://localhost/api/Products.json
और एक्सएमएल के लिए, यह होगा;
http://localhost/api/Products.xml
इसी प्रकार;
http://localhost/api/Products.json/1/
http://localhost/api/Products.xml/1/
क्या यह संभव है और मैं इस कार्यक्षमता को कैसे प्राप्त करूं?
एक वैकल्पिक की तरह कुछ हो सकता है;
http://localhost/api/json/Products/
मार्गों काम करने के लिए लग रहे हैं में रखना चाहिए, लेकिन विस्तार सामान कुछ भी नहीं है। मैंने इन्हें global.asax में जोड़ा, क्या यह एक समस्या है? – ChrisBint
क्रिस, उपयोग {ext} {बजाय विस्तार} की, क्योंकि {ext} के लिए जा मैप किया फ़ॉर्मेटर का उल्लेख करने के हार्ड-कोडेड प्रकट होता है। – MCattle
ग्रेट थ्रेड। जैसा @MCattle ने कहा, हमेशा याद रखें: विस्तार –