Я думал, что @RequestBody
пытается передать запрос params
объекту после аннотации названиями свойств.Spring MVC как работает @RequestBody
Но если бы я получил:
@RequestMapping(value = "/form", method = RequestMethod.GET)
public @ResponseBody Person formGet(@RequestBody Person p,ModelMap model) {
return p;
}
Запрос:
http://localhost:8080/proj/home/form?id=2&name=asd
Возврат 415
Когда я изменяю @RequestBody Person p
с @RequestParam Map<String, String> params
это нормально:
@RequestMapping(value = "/form", method = RequestMethod.GET)
public @ResponseBody Person formGet(@RequestParam Map<String, String> params) {
return new Person();
}
Человек Класс:
public class Person{
private long id;
private String name;
public Person() {
}
public Person(long id, String name) {
super();
this.id = id;
this.name = name;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Spring vresion 3.2.3.RELEASE
Где я ошибся?
Вы пытались добавить конструктор по умолчанию к 'Person'? – jbx
Просто попробовал, не помог. Благодарю. –