Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# ASP.NET WebAPI में विशिष्ट HTTP वर्ब्स के साथ मेथड्स तक पहुंच कैसे प्रतिबंधित करें?

HTTP वर्ब्स हमारे "यूनिफॉर्म इंटरफेस" कंस्ट्रेंट का एक प्रमुख हिस्सा हैं और हमें नाउन-आधारित रिसोर्स के लिए एक्शन समकक्ष प्रदान करते हैं। प्राथमिक या सबसे अधिक उपयोग किए जाने वाले HTTP वर्ब्स (या मेथड्स, जैसा कि उन्हें ठीक से कहा जाता है) POST, GET, PUT, PATCH, और DELETE हैं। ये क्रमशः क्रिएट, रीड, अपडेट, और डिलीट (या CRUD) ऑपरेशन से मेल खाते हैं। कई अन्य वर्ब्स भी हैं, लेकिन उनका उपयोग कम होता है। उन कम-लगातार मेथड्स में से, OPTIONS और HEAD का उपयोग दूसरों की तुलना में अधिक बार किया जाता है।

एक्शन मेथड का नाम HTTP वर्ब्स की तरह रखा जा सकता है जैसे Get, Post, Put, Patch या Delete। हालांकि, हम बेहतर पठनीयता के लिए HTTP वर्ब्स के साथ कोई भी सफ़िक्स जोड़ सकते हैं। उदाहरण के लिए, Get मेथड GetAllStudents() या कोई अन्य नाम हो सकता है जो Get से शुरू होता है।

उदाहरण

public class DemoController : ApiController
{
    public IHttpActionResult GetAllStudents()
    {
        // छात्रों का डेटा प्राप्त करता है
        return Ok();
    }

    public IHttpActionResult Post([FromBody]Student student)
    {
        // छात्र डेटा इन्सर्ट करता है
        return Ok();
    }

    public IHttpActionResult Put([FromBody]Student student)
    {
        // छात्र डेटा अपडेट करता है
        return Ok();
    }

    public IHttpActionResult Delete(int id)
    {
        // छात्र डेटा डिलीट करता है
        return Ok();
    }
}

एक्शन मेथड के HTTP वर्ब को नाम के बजाय परिभाषित करने का दूसरा तरीका Http Verb Attribute का उपयोग करना है। हम आसानी से ASP.NET Web API मेथड तक पहुंच को एक विशिष्ट HTTP मेथड का उपयोग करके कॉल करने के लिए प्रतिबंधित कर सकते हैं।

उदाहरण

using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Web.Http;

namespace DemoWebApplication.Controllers
{
    public class DemoController : ApiController
    {
        [HttpGet] // HttpVerb Attribute
        public IHttpActionResult FetchStudentsList()
        {
            List students = new List
            {
                new Student { Id = 1, Name = "Mark" },
                new Student { Id = 2, Name = "John" }
            };
            return Ok(students);
        }
    }
}

C# ASP.NET WebAPI में विशिष्ट HTTP वर्ब्स के साथ मेथड्स तक पहुंच कैसे प्रतिबंधित करें?

अब आइए उपरोक्त एक्शन मेथड को POST रिक्वेस्ट का उपयोग करके एक्सेस करने का प्रयास करें।

C# ASP.NET WebAPI में विशिष्ट HTTP वर्ब्स के साथ मेथड्स तक पहुंच कैसे प्रतिबंधित करें?

हम देख सकते हैं कि जब हम FetchStudentsList एक्शन मेथड पर POST रिक्वेस्ट भेजते हैं तो हमें 405 Method Not Allowed रिस्पॉन्स मिलता है क्योंकि यह [HttpGet] एट्रिब्यूट से सजाया गया है।

  1. C# ASP.NET WebAPI में CORS समस्या कैसे हल करें? C# ASP.NET WebAPI में CORS समस्या कैसे हल करें?

    क्रॉस-ओरिजिन रिसोर्स शेयरिंग (CORS) एक ऐसा तंत्र है जो ब्राउज़रों को यह बताने के लिए अतिरिक्त HTTP हेडर्स का उपयोग करता है कि एक ओरिजिन पर चल रहे वेब एप्लिकेशन को किसी अलग ओरिजिन से चुनिंदा रिसोर्सेज तक पहुंच दी जाए। एक वेब एप्लिकेशन एक क्रॉस-ओरिजिन HTTP रिक्वेस्ट निष्पादित करता है जब वह किसी ऐसे रि

  1. Selenium WebDriver और Java का उपयोग करके एक विशिष्ट विंडो कैसे बंद करें? Selenium WebDriver और Java का उपयोग करके एक विशिष्ट विंडो कैसे बंद करें?

    परिचयहम Selenium WebDriver के साथ एक विशिष्ट विंडो बंद कर सकते हैं। getWindowHandles और getWindowHandle मेथड्स का उपयोग चाइल्ड विंडो को संभालने के लिए किया जा सकता है। getWindowHandles मेथड का उपयोग सभी खुले विंडो हैंडल को Set डेटा संरचना में स्टोर करने के लिए किया जाता है।getWindowHandle मेथड का उप

  1. विंडोज 10 में ड्राइव तक पहुंच कैसे प्रतिबंधित करें विंडोज 10 में ड्राइव तक पहुंच कैसे प्रतिबंधित करें

    विंडोज ऑपरेटिंग सिस्टम आपके सिस्टम पर कई उपयोगकर्ता खातों के उपयोग की सुविधा प्रदान करता है। यदि एक कंप्यूटर का उपयोग कई परिवार के सदस्यों या दोस्तों द्वारा किया जाता है, तो कुछ फ़ाइलों, फ़ोल्डरों या यहां तक कि ड्राइव पर गोपनीयता रखना सबसे अच्छा है। हालांकि, ड्राइव को प्रतिबंधित करना आपके सिस्टम पर