Spring Data REST Como adicionar recursos incorporados em linha
Estou usando o Spring Data REST e o Hateoas em combinação com o navegador HAL. Isso funciona perfeitamente, mas agora eu gostaria de fazer um despejo JSON de uma entidade específica com (um conjunto de) seus objetos associados. eu usei@Projection
mas depois fiquei preso de novo.
FYI: O comportamento normal (com links incorporados e etc) deve permanecer além do novo ponto de extremidade (sem links e incorporados).
Para ilustrar melhor meu problema / pergunta:
class Person {
String name;
List<Company> companies;
}
class Company {
String name;
Address address;
}
class Address {
String street;
}
Agora eu gostaria de ver algo assim:
{
"name": "John",
"companies": [
{
"name": "Stackoverflow",
"address": {"street": "Highway blvd."}
},
{
"name": "Oracle",
"address": {"street": "Main rd."}
}
]
}
Enquanto estou recebendo isso:
{
"name": "John",
"_links": {
"self": {"href": "http...."},
"companies": {"href": "http ..."}
},
}
Veja também:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#projections-excerpts
No meu exemplo, introduzi duas dificuldades que tenho: Listas (empresas) e vários níveis: pessoa-> empresa-> endereço. Ambos são obrigados a trabalhar (provavelmente 5 níveis, alguns dos quais têm "muitas" relações).