Looking for asp.net-web-api2 Answers? Try Ask4KnowledgeBase
Looking for asp.net-web-api2 Keywords? Try Ask4Keywords

asp.net-web-api2Asp.net-web-api2 के साथ शुरुआत करना


टिप्पणियों

यह अनुभाग asp.net-web-api2 क्या है का एक सिंहावलोकन प्रदान करता है, और क्यों एक डेवलपर इसका उपयोग करना चाह सकता है।

यह asp.net-web-api2 के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों के लिए लिंक करना चाहिए। चूंकि asp.net-web-api2 के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

हेलो वेब आपी

वेब एप 2 - हैलो वर्ल्ड उदाहरण

हम एक नया वेब एपि साधारण एप्लिकेशन बनाने जा रहे हैं, जो मैसेज और यूजर नेम के साथ हमारे पास वापस आएगा।
चलो शुरू करते हैं! पहले विजुअल स्टूडियो का उपयोग करके नई वेब एपी परियोजना बनाएं और खाली टेम्पलेट का चयन करें। "वेब आपी" फ़ोल्डर की जाँच करना सुनिश्चित करें:

यहाँ छवि विवरण दर्ज करें

ध्यान दें कि मैंने "वेब एपी" टेम्पलेट नहीं चुना था क्योंकि यह एपीआई सहायता पेज प्रदान करने के लिए ASP.NET MVC के संदर्भ को जोड़ता है। और ऐसे मूल आवेदन में हमें वास्तव में इसकी आवश्यकता नहीं है।

एक मॉडल जोड़ना

एक मॉडल एक C # वर्ग है जो हमारे ऐप में कुछ डेटा का प्रतिनिधित्व करता है। ASP.NET वेब एपीआई JSON, XML, या किसी अन्य प्रारूप (कॉन्फ़िगरेशन पर निर्भर करता है) के लिए मॉडल को स्वचालित रूप से अनुक्रमित करने में सक्षम है।

हमारे आवेदन में हम केवल एक मॉडल बनाएंगे, लेकिन वास्तविक दुनिया के ऐप में आमतौर पर बहुत सारे होते हैं।

समाधान एक्सप्लोरर में, मॉडल फ़ोल्डर पर राइट-क्लिक करें। अगला जोड़ें का चयन करें और फिर कक्षा का चयन करें। कक्षा का नाम "HelloMessage" रखें। हमारे मॉडल को दो गुणों की आवश्यकता है: MessageText और UserName :

namespace WebApiHelloWorld.Models
{
    public class HelloMessage
    {
        public string MessageText { get; set; }
        public string UserName { get; set; }
    }
}
 

एक नियंत्रक जोड़ना

एक नियंत्रक HTTP अनुरोधों को संभालता है। हमारे ऐप को केवल एक कंट्रोलर की जरूरत है जो Json को हैलो मैसेज और यूजर नेम (जिसे हम URL में पास करेंगे) के साथ लौटाता है।
समाधान एक्सप्लोरर में, कंट्रोलर फ़ोल्डर पर राइट-क्लिक करें। अगला जोड़ें का चयन करें और फिर नियंत्रक का चयन करें। खुली हुई विंडो में, वेब एपीआई नियंत्रक का चयन करें - खाली करें और जोड़ें पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें

नियंत्रक का नाम "HelloController" के रूप में सेट करें। बनाए गए नियंत्रक का अगला संपादन कोड। हमें वह तरीका जोड़ना होगा जो हैलो मैसेज लौटाता है।

using System.Web.Http;
using WebApiHelloWorld.Models;

namespace WebApiHelloWorld.Controllers
{
    public class HelloController : ApiController
    {
        public HelloMessage GetMessage(string name)
        {
            HelloMessage message = new HelloMessage
            {
                MessageText = "Hello my Dear!",
                UserName = name
            };

            return message;
        }
    }
}
 

नोट using WebApiHelloWorld.Models करना सुनिश्चित करें। इसके बिना आपके कंट्रोलर को HelloMessage क्लास नहीं मिलेगी।

समाप्त

बस इतना ही! अब आपको केवल अपना एप्लिकेशन बनाने और शुरू करने की आवश्यकता है। बस Ctrl + F5 या सिर्फ F5 मारा (डिबगिंग के बिना शुरू करने के लिए)। विजुअल स्टूडियो वेब ब्राउजर लॉन्च करेगा। आपको अपने नियंत्रक को कॉल करने की आवश्यकता है। ऐसा करने के लिए URL के अंत में "/ api / hello? Name = John" जोड़ें। परिणाम होना चाहिए:

{
    "MessageText": "Hello my Dear!",
    "UserName": "John"
}
 

स्थापना या सेटअप

Asp.net-web-api 2 को स्थापित करने या स्थापित करने पर विस्तृत निर्देश।

क्या और क्यों Asp.Net वेब API2?

क्या और क्यों ?

Asp.Net का Web API2, Web API का नवीनतम संस्करण है। यह एक अच्छा तरीका है जो Asp.Net फ्रेमवर्क प्रदान करता है का उपयोग करके एक RESTful वेब सेवा को लागू करने का एक आसान तरीका है। एक बार जब आप REST के मूल सिद्धांतों को समझ लेते हैं, तो एक Asp.net Web API2 को लागू करना बहुत आसान हो जाएगा। Web API2 Asp.Net के मॉड्यूलर, प्लग करने योग्य पाइपलाइन मॉडल पर बनाया गया है। इसका मतलब यह है कि जब एक वेब API2 होस्ट करने वाला सर्वर अनुरोध प्राप्त करता है, तो वह पहले Asp.Nets अनुरोध पाइपलाइन से गुजरता है। यह आपको अपने स्वयं के मॉड्यूल को आसानी से जोड़ने में सक्षम बनाता है यदि आप पाते हैं कि डिफ़ॉल्ट क्षमताएं आपकी आवश्यकताओं के लिए पर्याप्त नहीं हैं। ASP.net vNext पर हालिया घोषणाओं के साथ इसका मतलब यह भी है कि आप अपने वेब API2 को संभावित रूप से उपयोग मामलों की एक पूरी श्रृंखला खोलने वाले विंडोज सर्वर के बाहर होस्ट कर सकते हैं। विस्तार के लिए यहाँ देखें।

कैसे काम करता है?

वेब API2 MVC से नियंत्रक और क्रिया अवधारणाओं का उपयोग करता है। संसाधनों को सीधे नियंत्रकों को मैप किया जाता है; आपके पास आमतौर पर आपके प्रत्येक मुख्य डेटा संस्थाओं (उत्पाद, व्यक्ति, ऑर्डर आदि) के लिए एक अलग नियंत्रक होगा। Web API2 URLs को नियंत्रकों को मैप करने के लिए Asp.Net रूटिंग इंजन का उपयोग करता है। आमतौर पर, एपीआई एक /api/ मार्ग के भीतर आयोजित किए जाते हैं जो एक ही वेबसाइट में एपीआई नियंत्रकों को अन्य गैर-एपीआई से अलग करने में मदद करता है।

क्रियाओं का उपयोग विशिष्ट HTTP क्रियाओं के लिए मैप करने के लिए किया जाता है, उदाहरण के लिए आपके पास आमतौर पर एक GET कार्रवाई होती है जो सभी संस्थाओं को वापस करती है। यह क्रिया /api/Products (जहां 'उत्पाद' आपका नियंत्रक है) का जवाब देगी और कुछ इस तरह दिखाई देगी:

 public IEnumerable<string> Get()
 {
     return new string[] { "value1", "value2" };
 }
 

आपके पास एक GET कार्रवाई भी हो सकती है जो एक विशिष्ट ID स्वीकार करती है और एक विशिष्ट इकाई लौटाती है। यह /api/Products/81 को प्रतिसाद देगा और कुछ इस तरह दिखेगा:

public string Get(int id)
 {
    return "value";
 }
 

वेब एपीआई का उपयोग करने के कई महान छिपे हुए लाभ हैं जिन्हें आप महसूस नहीं कर सकते हैं लेकिन वास्तव में आपको बहुत सारे काम बचाते हैं।

वेब API2 'One Asp.Net' का हिस्सा है

Web API2 'One Asp.Net' परिवार का एक हिस्सा है, जिसका अर्थ है कि यह मूल रूप से उन सभी साझा सुविधाओं का समर्थन करता है, जिनका आप वर्तमान में MVC या वेब रूपों के साथ उपयोग कर सकते हैं, इसमें शामिल हैं (ये केवल कुछ उदाहरण हैं):

  • इकाई की रूपरेखा
  • प्राधिकरण और पहचान
  • मचान
  • रूटिंग

सीरियलाइजेशन और मॉडल बाइंडिंग

XML या JSON (JSON डिफ़ॉल्ट है) में प्रतिक्रिया देने के लिए वेब API2 डिफ़ॉल्ट रूप से सेटअप है। हालाँकि, एक डेवलपर के रूप में आपको कोई रूपांतरण या पार्स करने की आवश्यकता नहीं है - आप बस एक दृढ़ता से टाइप की गई वस्तु लौटाते हैं और वेब API2 इसे XML या JSON में बदल देगा और इसे कॉलिंग क्लाइंट को लौटा देगा, यह एक प्रक्रिया है जिसे Content Negotiation कहा जाता है। यह एक GET कार्रवाई का एक उदाहरण है जो एक जोरदार टाइप की गई वस्तु को लौटाता है।

 public Product GetProduct(int id)
 {
    var product = _products.FirstOrDefault(p => p.ID == id);
    if (product == null)
    {
       throw new HttpResponseException(HttpStatusCode.NotFound);
    }
    return Request.CreateResponse(HttpStatusCode.OK, product);
 }
 

यह मॉडल सत्यापन नामक सुविधा का उपयोग करके आने वाले अनुरोधों के लिए भी काम करता है। मॉडल सत्यापन के साथ, वेब एपीआई 2 आपके कोड में काम करने के लिए आने वाली प्रतिक्रिया शरीर डेटा को दृढ़ता से टाइप की गई वस्तु को सत्यापित और पार्स करने में सक्षम है। यह मॉडल बाइंडिंग का एक उदाहरण है:

 public HttpResponseMessage Post(Product product)
 {
     if (ModelState.IsValid)
     {
         // Do something with the product (not shown).
 
         return new HttpResponseMessage(HttpStatusCode.OK);
     }
     else
     {
         return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
     }
 }