Spring Data REST Cómo agregar recursos incrustados en línea
Estoy usando Spring Data REST y Hateoas en combinación con el navegador HAL. Esto funciona perfectamente, pero ahora me gustaría hacer un volcado JSON de una entidad específica con (un conjunto de) sus objetos asociados. solía@Projection
pero luego me quedé atrapado nuevamente.
FYI: El comportamiento normal (con incrustados y enlaces, etc.) debe permanecer además del nuevo punto final (sin incrustados y enlaces).
Para ilustrar más mi problema / pregunta:
class Person {
String name;
List<Company> companies;
}
class Company {
String name;
Address address;
}
class Address {
String street;
}
Ahora me gustaría ver algo como esto:
{
"name": "John",
"companies": [
{
"name": "Stackoverflow",
"address": {"street": "Highway blvd."}
},
{
"name": "Oracle",
"address": {"street": "Main rd."}
}
]
}
Mientras recibo esto:
{
"name": "John",
"_links": {
"self": {"href": "http...."},
"companies": {"href": "http ..."}
},
}
Ver también:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#projections-excerpts
En mi ejemplo, presenté dos dificultades que tengo: Listas (compañías) y niveles múltiples: persona-> compañía-> dirección. Ambos deben trabajar (probablemente 5 niveles, algunos de los cuales tienen "muchas" relaciones).