angularjs - How to send JSON from clinet and get DTO-Object on server? -


मेरे पास ग्राहक:

  के लिए (var i = 0; i & lt; $ Files.length; i ++) {var फ़ाइल = $ फ़ाइलें [i]; Var डेटा = {f_name: 'test1', s_name: 'test2'}; Var एफडी = नया फॉर्मडाटा (); Fd.append ('डेटा', कोणीय। टू जेसन (डेटा)); Fd.append ("फ़ाइल", फ़ाइल); $ Http ({method: 'POST', url: 'कर्मचारी सेवा / कर्मचारी / अपलोड', हेडर: {'सामग्री-प्रकार': अपरिभाषित}, डेटा: fd, transformRequest: angular.identity}) .success (फ़ंक्शन (डेटा, स्थिति) {चेतावनी ("सफलता");}); }  

और सर्वर पर (स्प्रिंग):

  @ResponseBody @RequestMapping (मान = "/ अपलोड", विधि = RequestMethod.POST) सार्वजनिक स्ट्रिंग पोस्टफ़ाइल MultipartFile फ़ाइल, @RequestParam (मान = "डेटा") ऑब्जेक्ट डेटा) अपवाद {System.out.println ("डेटा =" + डेटा) फेंकता है (@RequestParam (मान = "फ़ाइल", आवश्यक = गलत) MultipartFile फ़ाइल, @RequestParam; वापसी "ठीक है!"; }  

लेकिन डेटा स्ट्रिंग है: "{" f_name ":" test1 "," s_name ":" test2 "}"। ए में डीटीओ-क्लास है:

  पब्लिक क्लास कर्मचारी DTO () {निजी स्ट्रिंग f_name; निजी स्ट्रिंग s_name; // सेटर्स और गेटर्स}  

और सर्वर पर मैं चाहता हूं:

  @ResponseBody @RequestMapping (value = "/ upload", method = RequestMethod .POST) सार्वजनिक स्ट्रिंग पोस्टफ़ाइल (@RequestParam (value = "file", आवश्यक = गलत) MultipartFile फ़ाइल, @RequestParam (मान = "डेटा") कर्मचारी DTO कर्मचारी डीटीओ) अपवाद को फेंकता है {// आदि। }  

क्लाइंट (फाइल और डेटा) और सर्वर पर डेटा और फाइल कर्मचारी कैसे प्राप्त कर सकता है?

जब आप जेसन स्ट्रिंग से वस्तु प्राप्त करने के लिए एनोटेशन @RequestBody का उपयोग कर सकते हैं।

उदाहरण के लिए:

 < Code> @ResponseBody @RequestMapping (मान = "/ परीक्षण", विधि = RequestMethod.POST) सार्वजनिक स्ट्रिंग परीक्षण (@RequestBody कर्मचारी DTO कर्मचारी डीटीओ) {// कुछ करना; वापसी "सफलता"; }  

या आप स्ट्रिंग प्राप्त कर सकते हैं और फिर ऑब्जेक्ट के लिए स्ट्रिंग कन्वर्ट करने के लिए उपयोग करें

उदाहरण के लिए:

  EmployeeDTO employeeDTO = New ObjectMapper () .readValue ("यहां जेसन स्ट्रिंग है", कर्मचारी DTO.class);  

Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -