У меня есть класс Foo и класс Bar:
@Entity
public class Foo extends BaseEntity {
private Long id;
private String foo;
}
@Entity
public class Bar extends BaseEntity{
private Long id;
private String bar;
}
И @Controller
@Controller
...
@RequestMapping(value = "/foo/{foo}")
public void foo(@PathVariable("foo") Foo foo) {
...
С Spring Data JPA и Sprint REST я могу пройти, например. Foo в качестве идентификатора в URL-адресе и автоматически получить объект Foo через встроенный преобразователь класса домена http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.web.basic.domain-class-converter:
Это прекрасно работает. Но в некоторых случаях я хочу отправлять данные в контроллер через JSON вместо параметра URL.
{
foo : {id : 42},
bar : {id : 123},
}
Можно ли автоматически получить это аналогично полностью загруженным из JPA (а не только инициализированным с идентификатором)?
Я пробовал @RequestBody, но это только инициализирует значения, заданные запросом, без загрузки объекта из базы данных.