Iam थोड़ा स्प्रिंगएमवीसी आरईएसटी अवधारणा के लिए नया है। निम्नलिखित समस्या को समझने/हल करने के लिए यहां विशेषज्ञों की सहायता की आवश्यकता है, मैंने एक स्प्रिंगएमवीसी अनुप्रयोग विकसित किया है, निम्नलिखित नियंत्रक वर्ग कोड का एक हिस्सा है, और यह जिस तरह से है, यह पूरी तरह से ठीक काम करता है, जिसका अर्थ है कि यह JSON प्रकार के साथ ठीक काम करता है वस्तु,एक आरईएसटी आवेदन के अनुरोधबॉडी
@RequestMapping(method = RequestMethod.POST, value = "/user/register")
public ModelAndView addUser(@RequestBody String payload) {
try{
ObjectMapper mapper = new ObjectMapper();
CreateNewUserRequest request = mapper.readValue(payload, CreateNewUserRequest.class);
UserBusiness userBusiness = UserBusinessImpl.getInstance();
CreateNewUserResponse response = userBusiness.createNewUser(request);
return new ModelAndView(ControllerConstant.JASON_VIEW_RESOLVER, "RESPONSE", response);
और यह मेरा बाकी-servlet.xml मेरे समस्या
तरह<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean id="jsonViewResolver" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
</bean>
<bean name="UserController" class="com.tap.mvp.controller.UserController"/>
मैं कैसे यह सामान्य पोस्ट अनुरोध के लिए काम कर सकता हूँ है, मेरे नियंत्रक के बजाय JSON प्रकार वस्तु स्वीकार नहीं करना चाहिए लग रहा है यह सामान्य HTTP पोस्ट चर के लिए काम करना चाहिए। मैं अनुरोध से मूल्य कैसे प्राप्त करूं? इसके लिए मुझे क्या संशोधन करने की आवश्यकता है। मैं
ObjectMapper mapper = new ObjectMapper();
CreateNewUserRequest request = mapper.readValue(payload, CreateNewUserRequest.class);
से छुटकारा पाने के और बदले
CreateNewUserRequest
वर्ग का एक उदाहरण बनाने के लिए जिस तरह से जोड़ने के लिए, अपने निर्माता लागू द्वारा की जरूरत की जरूरत है। इसके लिए मुझे अनुरोध से मूल्य प्राप्त करने की आवश्यकता है। मैं उसको कैसे करू? क्या मैं मानचित्र के रूप में @RequestBody स्ट्रिंग पेलोड का इलाज कर सकता हूं और मूल्य प्राप्त कर सकता हूं? या HTTP पोस्ट विधि के अनुरोध से मूल्य प्राप्त करने का कोई विशिष्ट तरीका है? निम्न मान,
firstName, lastName, ईमेल, पासवर्ड
धन्यवाद Tomaz, यह वास्तव में मदद की, लेकिन छोटी सी गलती यह '@RequestParam ("formParam1") formParam1: स्ट्रिंग' के रूप में '@RequestParam ("formParam1") स्ट्रिंग formParam1' – bluelabel
@bluelabel : धन्यवाद, तय है। बहुत अधिक स्कैला :-)। बीटीडब्लू आप विकी में जैसे हर प्रश्न और जवाब यहां संपादित कर सकते हैं (कुछ प्रतिष्ठा स्तर से ऊपर)। गलतियों को सही करने के लिए स्वतंत्र महसूस करें! –