Close

Spring MVC - @RequestBody Examples

Spring MVC 

import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/users")
public class UserControllerConsume {

@RequestMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public String handleJson(@RequestBody String s) {
System.out.println("json body : " + s);
return "";
}

@RequestMapping(consumes = MediaType.APPLICATION_XML_VALUE)
public String handleXML(@RequestBody String s) {
System.out.println("xml body " + s);
return "";
}
}
Original Post




import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;


@Controller
@RequestMapping("message")
public class MyController {

@RequestMapping(consumes = MediaType.TEXT_PLAIN_VALUE,
produces = MediaType.TEXT_HTML_VALUE,
method = RequestMethod.GET)
@ResponseBody
public String handleRequest (@RequestBody byte[] bytes, @RequestBody String str) {

System.out.println("body in bytes: " + bytes);
System.out.println("body in string: " + str);

return "<html><body><h1>Hi there</h1></body></html>";
}

@RequestMapping(method = RequestMethod.POST, consumes = MediaType
.APPLICATION_FORM_URLENCODED_VALUE)
@ResponseStatus(HttpStatus.OK)
public void handleFormRequest (@RequestBody MultiValueMap<String, String> formParams) {
System.out.println("form params received " + formParams);
}

@RequestMapping(method = RequestMethod.PUT,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public void handleFormPutRequest (@RequestBody MultiValueMap<String, String> formParams) {
System.out.println("form params received " + formParams);
}

}
Original Post




    @Autowired
private UserService userService;

@RequestMapping(value = "register",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_XML_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public void handleXMLPostRequest (@RequestBody User user) {
System.out.println("saving user: " + user);
userService.saveUser(user);
}
Original Post




    @RequestMapping(value = "register", method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public void handleJsonPostRequest (@RequestBody User user, Model model) {
System.out.println("saving user: "+user);
userService.saveUser(user);
}
Original Post




See Also