Monday 15 February 2010

Mule esb: Validate array items in .raml file -


मेरे पास मेरे .raml फ़ाइल में निम्नलिखित json स्कीमा परिभाषा है

  - अनुरोध: | {"प्रकार": "वस्तु", "$ स्कीमा": "http://json-schema.org/draft-03/schema", "id": "http://jsonschema.net", "आवश्यक": सच, "गुण": {"व्यक्ति प्रॉपर्टी": {"प्रकार": "सरणी", "आइटम": {"$ ref": "संपत्ति"}}}} - संपत्ति: | {"$ स्कीमा": "http://json-schema.org/draft-03/schema", "type": "ऑब्जेक्ट", "वर्णन": "एकल व्यक्ति की संपत्ति", "गुण": {"fieldId ":" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "": "पूर्णांक", "आवश्यक": सत्य}, "सिस्टम आईडी": {"प्रकार": "पूर्णांक", "आवश्यक": गलत}, "मान": {"type": "string" , "आवश्यक": सत्य "," बनाया ": {" प्रकार ":" स्ट्रिंग "," आवश्यक ": गलत}}}  

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

  {"personProperty": [{"fieldId": "1", "systemId": 1, "बनाया": "2015-02-23 21: 19: 00.907"}]}  

यदि स्कीमा किसी सरणी के अंदर नहीं है, तो सत्यापन ठीक से काम करता है। लेकिन जब सरणी के अंदर, यह आवश्यक विशेषता वाले किसी एकल आइटम को मान्य नहीं कर रहा है।

क्या मुझे विशेष कॉन्फ़िगरेशन की आवश्यकता है?

धन्यवाद।

< P>

थोड़ी देर के लिए संघर्ष करने के बाद मैं इसे इसे प्रयोग करने में सक्षम बना रहा था:

  - अनुरोध: | {"प्रकार": "वस्तु", "$ स्कीमा": "http://json-schema.org/draft-03/schema", "id": "http://jsonschema.net", "परिभाषाएं": {"Person-property": {"type": "object", "properties": {"fieldId": {"type": "integer", "required": true}, "systemId": {"type": "पूर्णांक", "आवश्यक": "मान": {"प्रकार": "स्ट्रिंग", "आवश्यक": सत्य}, "बनाया": {"प्रकार": "स्ट्रिंग", "आवश्यक": गलत} }, "गुण": {"personProperty": {"प्रकार": "सरणी", "आइटम": {"$ ref": "# / परिभाषाएं / व्यक्ति-संपत्ति"}}}}  < / Pre> 

मैंने एक आंतरिक परिभाषा का इस्तेमाल किया और फिर इसे "$ ref" का उपयोग कर कहा: "# / परिभाषाएं / व्यक्ति-संपत्ति"


No comments:

Post a Comment