angularjs POST बॉडी में डेटा की अपेक्षा करते समय मुझे क्योंबोडी विशेषता की आवश्यकता है



asp.net-core http-post (1)

सिर्फ इसलिए कि कुछ एक पोस्ट अनुरोध है, कोई स्पष्ट नियम नहीं है कि तर्क कैसे स्थानांतरित किया जा रहा है। एक पोस्ट अनुरोध में अभी भी यूआरएल में एन्कोडेड क्वेरी पैरामीटर हो सकते हैं। "सरल" प्रकार (स्ट्रिंग्स, इनट्स, आदि) के लिए एक पैरामीटर पैरामीटर होने का अनुमान है।

कॉम्प्लेक्स प्रकार आमतौर पर पोस्ट फॉर्म ऑब्जेक्ट होने की संभावना है। मानक एएसपी.नेट पोस्ट अनुरोध एक फॉर्म जमा होता है, जैसे प्रवेश करते समय। उन अनुरोधों के मापदंडों को आम तौर पर एन्कोड किया जाता application/x-www-form-urlencoded , मूल रूप से कुंजी / मान जोड़े की एक स्ट्रिंग जटिल पैरामीटर प्रकारों के लिए, उदा। फॉर्म दृश्य मॉडल ऑब्जेक्ट्स, यह डिफ़ॉल्ट माना जाता है

अन्य सभी गैर-डिफ़ॉल्ट स्थितियों के लिए, आपको स्पष्ट होना चाहिए कि एक विधि पैरामीटर कहाँ से आता है, यह अनुरोध में कैसे स्थानांतरित किया जा रहा है उस प्रयोजन के लिए, कई विभिन्न विशेषताओं हैं:

  • FromBodyAttribute - अनुरोध वाले निकाय से आने वाले पैरामीटर के लिए
  • FromFormAttribute - पैरामीटर के लिए जो एक एकल डेटा डेटा फ़ील्ड से आते हैं
  • FromHeaderAttribute - एक HTTP शीर्षलेख फ़ील्ड से आने वाले पैरामीटर के लिए
  • FromQueryAttribute - URL में एन्कोड किए गए एक क्वेरी तर्क से आने वाले पैरामीटर के लिए
  • FromRouteAttribute - मार्ग डेटा से आने वाले पैरामीटर के लिए
  • FromServicesAttribute - मापदंडों के लिए जिनसे सेवाओं को स्तरीय स्तर पर इंजेक्ट किया जाना चाहिए

मैं अपना डेटा सर्वर पर भेज सकता हूं, लेकिन केवल जब मैं से-बॉडी-एट्रिब्यूट का उपयोग करता हूं।

एक पोस्ट का उपयोग करके शरीर से जेएसएन डेटा स्वचालित रूप से क्यों नहीं पढ़ा जाता है?

बैकएंड वेब एपीआई

[HttpPost]
public async Task<IActionResult> Post([FromBody]CreateSchoolyearRequestDTO dto)
{

}

फ्रंटएन्ड एंगलियरज

this.createSchoolyear = function (schoolyear) {
  var path = "/api/schoolyears";
  return $http({
      url: path,
      method: "POST",
      data:  schoolyear,
      contentType: "application/json"
  }).then(function (response) {
      return response;
  });
};




asp.net-core-mvc