MVC प्रोजेक्ट को अद्यतन करें
नवीनतम वेब API प्राप्त करने के लिए Nuget का उपयोग करें ।
प्रोजेक्ट - राइट क्लिक - Nuget Package प्रबंधित करें - वेब एपीआई (Microsoft ASP.NET वेब एपीआई ...) की खोज करें और इसे अपने MVC प्रोजेक्ट में स्थापित करें।
फिर आपको काम करने के लिए अभी भी वेब एपीआई प्राप्त करना होगा। से माइक्रोसॉफ्ट के कॉन्फ़िगर ASP.NET वेब एपीआई 2
WebApiConfig.cs को App_Start / फ़ोल्डर में जोड़ें
using System.Web.Http;
namespace WebApplication1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// TODO: Add any additional configuration code.
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// WebAPI when dealing with JSON & JavaScript!
// Setup json serialization to serialize classes to camel (std. Json format)
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
}
}
}
यदि आपके पास MVC प्रोजेक्ट है, तो इसमें Global.asax.cs होगा , नए मार्ग जोड़ें। Global.asax.cs मार्गों का क्रम महत्वपूर्ण है। नोट पुराने उदाहरण हैं जो उपयोग करते हैं
WebApiConfig.Register
इस लाइन को Global.asax.cs में जोड़ें:
GlobalConfiguration.Configure(WebApiConfig.Register);
protected void Application_Start()
{
// Default stuff
AreaRegistration.RegisterAllAreas();
// Manually installed WebAPI 2.2 after making an MVC project.
GlobalConfiguration.Configure(WebApiConfig.Register); // NEW way
//WebApiConfig.Register(GlobalConfiguration.Configuration); // DEPRECATED
// Default stuff
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
WebAPI सहायता
( बहुत ) मददगार वेबएपीआई पृष्ठों को पाने के लिए , वेबएपीआई.हेलपेज को स्थापित करें। Http://channel9.msdn.com/Events/Build/2014/3-644 (~ 42 मिनट) में देखें कि वह क्या करता है। यह बहुत मददगार लगता है!
Nuget कंसोल: Install-Package Microsoft.AspNet.WebApi.HelpPage
सत्यापित करने के लिए WebAPI काम कर रहा है:
नियंत्रक फ़ोल्डर में -> नया आइटम जोड़ें -> वेब एपीआई नियंत्रक वर्ग।
public class TestController : ApiController
{
//public TestController() { }
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
//...
}
अब आप IE / FF / Chrome में हमेशा की तरह परीक्षण कर सकते हैं, या गैर-परीक्षण के लिए JavaScript कंसोल में देख सकते हैं।
(URL में सिर्फ कंट्रोलर के साथ, यह नए वेब API कंट्रोलर में GET () एक्शन को कॉल करेगा, यह REST उदा PUT / POST / GET / DELETE के आधार पर स्वचालित रूप से उन तरीकों / क्रियाओं पर मैप किया जाता है। आपको कॉल करने की आवश्यकता नहीं है। एमवीसी की तरह उन्हें क्रिया द्वारा) सीधे URL:
http://localhost:PORT/api/CONTROLLERNAME/
वैकल्पिक रूप से नियंत्रक का उपयोग करने के लिए jQuery का उपयोग करें। प्रोजेक्ट चलाएँ, कंसोल खोलें (IE में F12) और अजाक्स क्वेरी चलाने का प्रयास करें। (अपने पोर्ट और नियंत्रण सूची की जाँच करें)
$.get( "http://localhost:PORT/api/CONTROLLERNAME/", function( data ) {
//$( ".result" ).html( data );
alert( "Get data received:" + data);
});
साइड नोट: किसी परियोजना में एमवीसी और वेब एपीआई के संयोजन पर विचार करने के लिए कुछ पेशेवरों / विपक्ष हैं
WebAPI सहायता सत्यापन:
http://localhost:PORT/help