Как настроить Spring Data REST для удаления ссылок на ассоциации сущностей (оставлено только "self") в ответе ресурса Collection Конечные точки интерфейса репозитория , без набора exported = false в аннотации @ResResource (необходимо сохранить экспортированные конечные точки)
У нас есть объекты, в которых часть _links имеет самый большой размер ответа:
Вкл. Ресурс элемента _ ссылки полезны для навигации по ассоциациям.
Но на Ресурсы сбора ,главным образом для больших коллекций, эта информация не важна и делает ответ ненужным больше.
Нам нужно изменить этот ответ:
{
"_embedded" : {
"persons" : [ {
"id" : "bat_3191",
"name" : "B",
"_links" : { // 80% of response size !!
"self" : {
"href" : "http://localhost:8080/api/persons/bat_3191"
},
"orders" : {
"href" : "http://localhost:8080/api/persons/bat_3191/order"
},
"payments" : {
"href" : "http://localhost:8080/api/persons/bat_3191/payments"
},
"childrens" : {
"href" : "http://localhost:8080/api/persons/bat_3191/childrens"
},
"invoices" : {
"href" : "http://localhost:8080/api/persons/bat_3191/invoices"
},
"brands" : {
"href" : "http://localhost:8080/api/persons/bat_3191/brands"
},
}
},
{ person [2] }
...
{ person [N] }
]
},
"_links" : {
[page links]
}
Только на "себя"на _links часть:
{
"_embedded" : {
"persons" : [ {
"id" : "bat_3191",
"name" : "B",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/persons/bat_3191"
}
}
}, {
"id" : "bat_2340",
"name" : "B",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/persons/bat_2340"
}
}