чтобы добавить мои ссылки в рамку Json проекции, я добавил следующий класс:
@Component
public class ResumeEntityProjectionResourceProcessor implements ResourceProcessor<Resource<ResumeEntity>> {
@Override
public Resource<ResumeEntity> process(Resource<ResumeEntity> resource) {
UriComponents uriComponents = ServletUriComponentsBuilder.fromCurrentContextPath()
.path("/api/entities/search/findEntities")
.buildAndExpand(Long.toString(resource.getContent().getId()));
resource.add(new Link(uriComponents.toUriString(), "findEntities"));
return resource;
}
Проблема, с которой я теперь столкнулся в качестве возвращаемого значения, заключалась в двух ключах "_links", один со ссылками по умолчанию плюсмои ссылки и другие только с моими ссылками.
{
"_embedded": {
"entities": [{
"id": 1696,
"reference": "aaaaaa",
"_links": {
"self": {
"href": "http://localhost:8080/myProject/api/entities/1696{?projection}",
"templated": true
},
"findByParametresValide": {
"href": "http://localhost:8080/myProject/api/entities/search/findEntities"
}
},
"_links": {
"findByParametresValide": {
"href": "http://localhost:8080/myProject/api/entities/search/findEntities"
}
}
}
]
}
}
Как я сохранил только первый тег?
ожидаемый результат
{
"_embedded": {
"entities": [{
"id": 1696,
"reference": "aaaaaa",
"_links": {
"self": {
"href": "http://localhost:8080/myProject/api/entities/1696{?projection}",
"templated": true
},
"findByParametresValide": {
"href": "http://localhost:8080/myProject/api/entities/search/findEntities"
}
}
}
]
}
}
спасибо