2012-10-03 12 views
11

मैं 2 सप्ताह पहले बाहर आया नया एपीआई देख रहा हूं। ऐसा लगता है किसर्विसस्टैक आईरेटर्न

ReqDTO : IReturn<List<ResDTO>> { //... } 

"आईरेटर्न" बिट वैकल्पिक प्रतीत होता है? RazorRockstars डेमो परियोजना में डीटीओ इसके बिना काम करता है।

उत्तर

17

यह ServiceStack's New API में एक नया जोड़ा है जो आपको अपेक्षित प्रतिक्रिया प्रकार को दस्तावेज करने की अनुमति देता है कि अनुरोध डीटीओ वापस आएगा, उदाहरण के लिए

List<ResDTO> response = client.Get(new ReqDto()); 

अपने ग्राहक कॉल मार्कर आपको IReturn आपके पास नहीं था होता तरह देखने के लिए:

List<ResDTO> response = client.Get<List<ResDTO>>(new ReqDto()); 

ReqDTO : IReturn<List<ResDTO>> { ... } 
कौन सा आप के साथ सी # सेवा ग्राहकों के किसी भी उपयोग कॉल की सुविधा देता है

साथ

आपकी सेवा के ग्राहक/उपभोक्ता को कुछ पता होना चाहिए। यदि आपके पास डीटीओ पर मार्कर था तो प्रतिक्रिया प्रकार पहले ही ज्ञात है।

IReturn<> मार्कर का उपयोग रिस्पॉन्स डीटीओ को निर्धारित करने के लिए भी किया जाता है जिसका उपयोग सर्विसस्टैक के /metadata पृष्ठों में HTTP प्रतिक्रियाओं में किया जाता है।

+0

सर्विसस्टैक 3.9.x का उपयोग करना और मैं बस सोच रहा हूं कि 'आईरेटर्न' को लागू किया गया है या नहीं? यानी यदि मेरा एंडपॉइंट डेटा लौटाता है जो निर्दिष्ट प्रकार से मेल नहीं खाता है, तो क्या इसे अपवाद फेंकना चाहिए? – JaKXz

1

जहां तक ​​मुझे पता है, यह आपके अनुरोध/प्रतिक्रिया डीटीओ को परिभाषित करने का एक सुविधाजनक तरीका है। आप इसका उपयोग करने के लिए स्वतंत्र हैं, या नहीं।

1

यदि आप पोर्टेबल क्लास लाइब्रेरी में अपने डीटीओ को परिभाषित करते हैं, तो आप आईरेटर्न का उपयोग करने में सक्षम नहीं होंगे। शायद आईरेटर्न को सर्विसस्टैक में पीसीएल में परिभाषित किया जाना चाहिए। सिर्फ एक विचार।

संबंधित मुद्दे