खाली सरणी के लिए डिफ़ॉल्ट मान डेटा एनोटेशन

वोट
25

मैं एक .NET कोर वेब एपीआई बना रहा हूं और ग्राहक के ऑर्डर को सबमिट करने वाले एंडपॉइंट को कॉल करना चाहता हूं। ग्राहक आईडी मार्ग पैरामीटर के रूप में आता है। अनुरोध निकाय में ऑब्जेक्ट की एक सरणी भेजना संभव है। प्रत्येक ऑब्जेक्ट में उत्पाद आईडी और उसकी राशि होती है। लेकिन यह क्षेत्र वैकल्पिक है, खाली ऑर्डर भी संभव हैं (उत्पादों को बाद में जोड़ा जा सकता है)।

इसलिए मैंने इस डीटीओ के साथ शुरुआत की

public class CreateCustomerOrderByIdDto
{
    [FromRoute]
    public uint Id { get; set; }

    [FromBody]
    public OrderPosition[] OrderPositions { get; set; }
}

public class OrderPosition
{
    [Range(1, uint.MaxValue)]
    public uint ProductId { get; set; }

    [Range(1, uint.MaxValue)]
    public uint Amount { get; set; }
}

यह अनुरोध डीटीओ को करना चाहिए OrderPositions फ़ील्ड वैकल्पिक है, लेकिन एक आइटम जोड़ते समय उस आइटम के लिए दोनों गुणों की आवश्यकता होती है। मैं एक डिफ़ॉल्ट मान सेट करना चाहता हूं OrderPositions अगर गायब है तो मुझे लगा कि यह डेटा एनोटेशन करेगा

[DefaultValue(new OrderPosition[0])]

दुर्भाग्य से मुझे यह त्रुटि संदेश मिला

एक विशेषता तर्क एक स्थिर अभिव्यक्ति होना चाहिए, 'टाइपोफ़ ()' अभिव्यक्ति या सरणी निर्माण विशेषता गुणक प्रकार की अभिव्यक्ति

तो आप उस फ़ील्ड को वैकल्पिक के रूप में कैसे चिह्नित करते हैं और डिफ़ॉल्ट मान सेट करते हैं?

04/06/2020 को 23:02
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more