मैंने वेब एपीआई सहायता पृष्ठ दस्तावेज कॉन्फ़िगर किया है।केवल प्रतिक्रिया के लिए वेब एपीआई सहायता पृष्ठ दस्तावेज़ में पैरामीटर प्रदर्शित करने के लिए कैसे?
मैं कक्षा से नीचे हूं जो अन्य मॉडल वर्गों में विरासत में मिलेगा।
public class ResponseBase
{
public string ErrorReason { get; set; }
[IgnoreDataMember]
public bool IsRejected { get; set; }
}
मैं तो मैं IgnoreDataMember विशेषता के साथ सजाया धारावाहिक और जवाब में उपलब्ध होने की IsRejected नहीं चाहते।
मॉडल क्लास का उदाहरण जो ResponseBase को प्राप्त करता है।
public class Reading : ResponseBase
{
//Other properties
}
मैं अपने वेब एपीआई नियंत्रक में विधि नीचे है:
[HttpPost]
[ValidationResponseFilter]
[Route("")]
[ResponseType(typeof(Reading))]
public IHttpActionResult Add(List<Reading> readingList)
{
//Logic here
}
अब अनुरोध पैरामीटर के प्रलेखन जो वस्तुओं पढ़ना की सूची है के लिए
, उसके साथ पढ़ने के सभी गुण नीचे सूची जाएगा प्रतिक्रियाबेस वर्ग (विरासत)। मैं सहायता पृष्ठ दस्तावेज़ीकरण को केवल प्रतिक्रिया में पैरामीटर में से एक के रूप में ErrorReason को सूचीबद्ध करने के लिए चाहता हूं।
क्या कोई कॉन्फ़िगरेशन है जो मैं त्रुटि [ApiExplorerSettings(IgnoreApi = true)]
त्रुटिReason पर सेट करने के अलावा कर सकता हूं? यदि मैं ऐसा करता हूं, तो त्रुटि पुनरीक्षण अनुरोध और प्रतिक्रिया पैरामीटर दोनों में उपलब्ध नहीं होगा। मैं इसे केवल प्रतिक्रिया पैरामीटर सूची में प्रदर्शित करना चाहता हूं।
एक सलाह मॉडल की एक प्रतिनिधित्व कोड करने के लिए है IsRejected संपत्ति के बिना। आप automapper के साथ थकाऊ संपत्ति मैपिंग से बच सकते हैं। एक अच्छी डिजाइन पसंद है जो डोमेन मॉडल को वापस या प्राप्त नहीं करती है। इसके बजाय, वापसी और प्रतिनिधित्व प्राप्त करें। 'सूची <पढ़ना प्रस्तुतिकरण> पढ़नासूची' –
मैं गुणों को मैप करने के लिए ऑटोमैपर का उपयोग कर रहा हूं और IsRejected संपत्ति IgnoreDataMember के साथ सजाया गया है, इसलिए इसे क्रमबद्ध नहीं किया जाएगा। यह वर्ग केवल डीटीओ वर्ग है और व्यवसाय वस्तु नहीं है। क्या इस का कोई मतलब निकलता है? –
आपको एक विशिष्ट प्रतिनिधित्व कोड करने की आवश्यकता है। आपके पास एक आवश्यकता है जिसे IsRejected को उपयोगकर्ता इंटरफ़ेस से नहीं भेजा जाना चाहिए। यही है, उपयोगकर्ता इस संपत्ति को नहीं बदल सकता है। इसका एकमात्र तरीका, और इसके लिए अधिक सुरक्षित तरीका एक पठनवाइट प्रस्तुतिकरण है जिसमें यह संपत्ति नहीं है। यदि यह आपके कोड को सुसंगत बनाता है तो अधिक फ़ाइलों को बनाने के बारे में चिंतित न हों। –