Monday 15 July 2013

asp.net web api2 - How can I pass a single FromBody string param to a WEB API method? -


यहाँ मेरी वेब एपीआई पद्धति के हस्ताक्षर हैं:

  [एचटीपीपीट] सार्वजनिक ट्रेसइटम नोब्रेडकैम्ब्स अपडेटट्रेसइटम (int TraceId, string itemType, string itemId, [fromBody] स्ट्रिंग नोट्स)  

मैं यह परीक्षण करने के लिए और इनपुट बॉडी में पोस्टमैन का उपयोग करता हूं यदि मैं बस पास करता हूं:

"My नोट्स "

और फिर आने वाले परम का निरीक्षण करना सही है। लेकिन सामने के अंत के बाद की तरह इसे पास करना होगा: डेटा: {"नोट्स": "मेरी नोट्स"}

लेकिन जब मैं इसे पास करता हूँ, अब नोट्स = "नोट्स", "मेरा नोट्स" नहीं

मुझे केवल एक स्ट्रिंग के साथ समस्याएं हैं।

एक अन्य विधि में [fromBody] myListObject जैसे

 < कोड [1]: "मूल्य", "प्रॉप 2": "मूल्य"} {"प्रॉप 1": "मूल्य", "प्रॉप 2": "मान"}]  

और यह पूरी तरह से काम करता है मुझे अपने सामने वाले लोगों के लिए इसे ठीक करने की ज़रूरत है।

एक स्ट्रिंग लेने के बजाय, मुझे किसी वस्तु के अंदर स्ट्रिंग को मॉडल करने के लिए ऐसा लगता है:

<प्री> [HttpPut] सार्वजनिक TraceItemNoBreadCrumbs UpdateTraceItem (int traceId, स्ट्रिंग itemType, string itemId, [fromBody] traceItemNote नोट्स)

जहां TraceItemNote दिखता है:

  सार्वजनिक वर्ग TraceItemNote {सार्वजनिक स्ट्रिंग नोट्स {get; सेट; }}  

मुझे लगता है क्योंकि हम जेएसएएन वस्तुओं को भेज रहे हैं, उन्हें एक सी # ऑब्जेक्ट समकक्ष होना चाहिए।


No comments:

Post a Comment