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

हम C# ASP.NETWebAPI में विशिष्ट HTTP क्रियाओं के साथ विधियों तक पहुँच को कैसे प्रतिबंधित कर सकते हैं?

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

क्रिया विधि को HTTP क्रियाओं के रूप में नामित किया जा सकता है जैसे गेट, पोस्ट, पुट, पैच या डिलीट। हालांकि, हम अधिक पठनीयता के लिए HTTP क्रियाओं के साथ किसी भी प्रत्यय को जोड़ सकते हैं। उदाहरण के लिए, गेट विधि GetAllStudents() या कोई अन्य नाम हो सकता है जो Get से शुरू होता है।

उदाहरण

public class DemoController : ApiController{
   public IHttpActionResult GetAllStudents(){
      //Retrieves students data
      return Ok();
   }
   public IHttpActionResult Post([FromBody]Student student){
      //Insert student data
      return Ok();
   }
   public IHttpActionResult Put([FromBody]Student student){
      //Update student data
      return Ok();
   }
   public IHttpActionResult Delete(int id){
      //Delete student data
      return Ok();
   }
}

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

उदाहरण

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<Student> students = new List<Student>{
            new Student{
               Id = 1,
               Name = "Mark"
            },
            new Student{
               Id = 2,
               Name = "John"
            }
         };
         return Ok(students);
      }
   }
}

हम C# ASP.NETWebAPI में विशिष्ट HTTP क्रियाओं के साथ विधियों तक पहुँच को कैसे प्रतिबंधित कर सकते हैं?

अब हम पोस्ट अनुरोध का उपयोग करके उपरोक्त क्रिया विधि तक पहुँचने का प्रयास करते हैं।

हम C# ASP.NETWebAPI में विशिष्ट HTTP क्रियाओं के साथ विधियों तक पहुँच को कैसे प्रतिबंधित कर सकते हैं?

हम देख सकते हैं कि जब हम FetchStudentsList क्रिया विधि को एक पोस्ट अनुरोध भेजते हैं तो हमें 405 विधि की अनुमति नहीं है मिल रही है। प्रतिक्रिया के बाद से इसे [HttpGet] विशेषता से सजाया गया है।


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

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

  1. मैं जावा के साथ सेलेनियम वेबड्राइवर का उपयोग करके एक विशिष्ट विंडो कैसे बंद कर सकता हूं?

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

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

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