Используя весенние данные REST, я представил ProjectRepository
, который поддерживает перечисление проектов и выполнение над ними операций CRUD. Когда я перехожу к http://localhost:8080/projects/
, я получаю список проектов, как и ожидал.
Я пытаюсь добавить пользовательское действие в раздел _links
ответа JSON для коллекции проектов.
Например, я бы хотел, чтобы вызов http://localhost:8080/projects/
возвращал что-то вроде этого:
{
"_links" : {
"self" : {
"href" : "http://localhost:8080/projects/{?page,size,sort}",
"templated" : true
},
"search" : {
"href" : "http://localhost:8080/projects/search"
},
"customAction" : {
"href" : "http://localhost:8080/projects/customAction"
}
},
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
Где customAction
определяется в каком-то контроллере.
Я попытался создать следующий класс:
public class ProjectCollectionResourceProcessor implements ResourceProcessor<Resource<Collection<Project>>> {
@Override
public Resource<Collection<Project>> process(Resource<Collection<Project>> listResource) {
// code to add the links to customAction here
return listResource;
}
}
и добавив следующий Bean в конфигурацию моих приложений:
@Bean
public ProjectCollectionResourceProcessor projectCollectionResourceProcessor() {
return new ProjectCollectionResourceProcessor();
}
Но process(...)
, кажется, никогда не звонили. Как правильно добавлять ссылки на Коллекции ресурсов?