使用彈簧數據REST我公開了ProjectRepository
,它支持列出項目並對它們執行CRUD操作。當我去http://localhost:8080/projects/
時,我得到了我期望的項目清單。彈簧數據中的收集實體上的鏈接REST
我想要做的是將自定義操作添加到Project Collection的JSON響應的_links
部分。
例如,我想調用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
public ProjectCollectionResourceProcessor projectCollectionResourceProcessor() {
return new ProjectCollectionResourceProcessor();
}
但process(...)
不會永遠似乎被調用。什麼是添加鏈接到資源集合的正確方法?
另見,這個問題:http://stackoverflow.com/q/40156413 –