5

स्वीकार नहीं कर रहा मैं सिर्फ body एक int में पारित करने के लिए कोशिश कर रहा हूँ और यह काम नहीं करता मैं क्यों प्रकार int की संपत्ति के साथ एक वर्ग बनाने की जरूरत है? (तब यह काम करता है)वेब एपीआई HTTPPost पूर्णांक

काम करता है

[HttpPost] 
[Route("api/UpdateMainReversed")] 
public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues) 
    { ....} 

डाकिया

http://localhost:13497/api/UpdateMainReversed

शरीर के साथ

[HttpPost] 
[Route("api/UpdateMainReversed")] 
public IHttpActionResult UpdateMainVerified(int mainId) 
    { ....} 

परीक्षण काम नहीं करते

{ 
    "mainId" : 1615 
} 
+0

enter image description here

2.you [FromBody] का उपयोग करना चाहिए आप पूर्णांक पास करना चाहते हैं उल्लेख करने के लिए शरीर या यूआरएल में? –

+0

शरीर, क्योंकि इसकी पोस्ट और उचित REST –

+0

के लिए URL में पास नहीं होना चाहिए, मेरा उत्तर जांचें। –

उत्तर

5

1.Your [HttpPost] के लिए एक पूर्णांक की उम्मीद है, लेकिन शरीर से आप एक json वस्तु गुजर रहे हैं। आपको नीचे की तरह जेसन स्ट्रिंग पास करनी चाहिए। कोई ज़रूरत नहीं पैरामीटर नाम

[HttpPost] 
    public void UpdateMainVerified([FromBody] int mainid) 
    { 

    } 

नीचे के रूप में इस लिंक यह अच्छी तरह से बताते हैं

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api

+0

नाइस जॉब। मैंने कई लेख पढ़े और छोड़ने के लिए तैयार थे क्योंकि मैं स्ट्रिंग में int के बजाय स्ट्रिंग में पास कर सकता था मुख्य ... लेकिन मूल्य शून्य था। यह समाधान वास्तव में काम करता है! thx –

1

सेट FromBody गुण। अनुरोध निकाय से एक साधारण प्रकार को पढ़ने के लिए वेब एपीआई को मजबूर करने के लिए, पैरामीटर में [FromBody] विशेषता जोड़ें।

विवरण Link

[HttpPost] 
[Route("api/UpdateMainReversed")] 
public IHttpActionResult UpdateMainVerified([FromBody] int mainId) 
    { ....} 
+0

{ "संदेश": "अनुरोध अमान्य है।", "messageDetail": "पैरामीटर शब्दकोश में विधि 'System.Web के लिए गैर-शून्य प्रकार' System.Int32 'के पैरामीटर' mainId 'पैरामीटर के लिए एक शून्य प्रविष्टि है। Http.IHttpActionResult AddProduct (Int32) 'i –

+1

सेट सामग्री-प्रकार: एप्लिकेशन/एक्स-www-form-urlencoded –