Bit Iam nuovo al concetto REST SpringMVC. Ho bisogno di un aiuto da parte di esperti qui per capire/risolvere il seguente problema, Ho sviluppato un'applicazione SpringMVC, che segue è una parte di un codice di classe controller e funziona perfettamente bene così com'è, il che significa che funziona bene con il tipo JSON oggetto,RequestBody di un'applicazione REST
@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);
e questo è il mio riposo servlet.xml sembra
<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"/>
il mio problema è come faccio a farlo funzionare per normale richiesta POST, il mio controller non dovrebbe accettare il tipo JSON oggetto invece dovrebbe funzionare per le normali variabili HTTP POST. Come ottengo i valori dalla richiesta? Quali sono le modifiche dovrei aver bisogno di essere fatto per quello. Ho bisogno di sbarazzarsi di
ObjectMapper mapper = new ObjectMapper();
CreateNewUserRequest request = mapper.readValue(payload, CreateNewUserRequest.class);
e invece necessario aggiungere modo per creare un'istanza di
CreateNewUserRequest classe
, invocando il suo costruttore. Per quello ho bisogno di ottenere valori dalla richiesta. Come lo faccio? Posso trattare il carico utile @RequestBody String come una mappa e ottenere i valori? o esiste un modo specifico per ottenere valori dalla richiesta del metodo HTTP POST? seguenti valori saranno nella richiesta,
nome, cognome, e-mail, la password
Grazie Tomaz, E 'davvero aiutato, per quanto piccolo errore questo '@RequestParam ("formParam1") formParam1: String' come '@RequestParam ("formParam1") String formParam1' – bluelabel
@bluelabel : Grazie, risolto. Troppa Scala :-). A proposito, puoi modificare (sopra un certo livello di reputazione) ogni domanda e risposta qui, come in wiki. Sentiti libero di correggere gli errori! –