आपके पास दो मुद्दे हैं:
@Consumes(MediaType.APPLICATION_JSON)
को छोड़ दें . आपके अनुरोध का जेसन से कोई लेना-देना नहीं है।@PathParam
s को@RequestParam
. से बदला जाना चाहिए एस। मानों को अनुरोध पैरामीटर (क्वेरी स्ट्रिंग) के रूप में पढ़ा जाता है न कि पथ भागों के रूप में।
साथ ही, अनुरोध उदाहरण में आपको अतिरिक्त /
. से छुटकारा पाना चाहिए User
. के बाद :
localhost:8080/User?userName=Daniel&...
पथ पैरामीटर का उपयोग करने के लिए, आपको संसाधन विधि कॉन्फ़िगरेशन में पथ एनोटेशन जोड़ना चाहिए, जैसे:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
और अनुरोध कुछ इस तरह दिखना चाहिए:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
जो बिल्कुल भी सहज नहीं है
और एक आखिरी बात:List<String> roles
गलत है। यदि आप पथ या क्वेरी पैरामीटर का उपयोग करते हैं, तो स्प्रिंग स्ट्रिंग्स की सूची में परिवर्तित नहीं होगा। आपको भूमिकाओं को स्वयं सरणी में विभाजित करना होगा (शायद ,
. का उपयोग करके) एक विभाजक के रूप में) या एक Converter
की आपूर्ति करें ।