[java] वसंत में वस्तुओं की एक सूची का सत्यापन


Answers

मैं आपकी सूची श्रेणियों को कुछ डीटीओ बीन में लपेटने और इसे मान्य करने का सुझाव दूंगा। कार्य मान्यता के बगल में आपको अधिक लचीली एपीआई से लाभ होगा।

@RequestMapping(value="/map/update", method=RequestMethod.POST, produces = "application/json; charset=utf-8")
@ResponseBody
public ResponseEntityWrapper updateMapTheme(
    HttpServletRequest request, 
    @RequestBody @Valid TagRequest tagRequest,
    HttpServletResponse response
    ) throws ResourceNotFoundException, AuthorizationException {
...
}

public static class TagRequest {
    @Valid
    List<CompanyTag> categories;    
    // Gettes setters
}
Question

मेरे पास निम्न नियंत्रक विधि है:

@RequestMapping(value="/map/update", method=RequestMethod.POST, produces = "application/json; charset=utf-8")
@ResponseBody
public ResponseEntityWrapper updateMapTheme(
        HttpServletRequest request, 
        @RequestBody @Valid List<CompanyTag> categories,
        HttpServletResponse response
        ) throws ResourceNotFoundException, AuthorizationException {
...
}

कंपनीटैग को इस तरह परिभाषित किया गया है:

public class CompanyTag {
    @StringUUIDValidation String key;
    String value;
    String color;
    String icon;
    Icon iconObj;

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }
   ...
}

समस्या यह है कि सत्यापन शुरू नहीं हो रहा है, CompanyTag सूची मान्य नहीं है, "StringUUIDValidation" सत्यापनकर्ता को कभी भी नहीं कहा जाता है।

अगर मैं सूची को हटाता हूं और केवल एक कंपनी टग भेजने की कोशिश करता हूं, यानी इसके बजाय:

@RequestBody @Valid List<CompanyTag> categories,

उपयोग:

@RequestBody @Valid CompanyTag category,

यह अपेक्षा के अनुरूप काम करता है, इसलिए जाहिरा तौर पर वसंत को चीजों की सूची को मान्य करना पसंद नहीं है (बजाय सरणी के साथ की कोशिश की, जो कि या तो काम नहीं करती थी)

किसी को भी क्या याद आ रही है?




किसी संग्रह को मान्य करना सीधे कार्य नहीं करता है

उदाहरण के लिए: यदि एकाधिक तत्व मान्यकरण विफल करते हैं तो क्या करना चाहिए? पहली मान्यता के बाद बंद करो? सभी को मान्य करें (यदि हां, तो संदेशों के संग्रह के साथ क्या किया जाए)?

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

सीतनिद्रा में होना के लिए, इसी तरह की एक समस्या यहाँ पर चर्चा की गई है




Links