스프링 데이터 REST를 사용하여 프로젝트 목록 작성 및 CRUD 작업을 지원하는 ProjectRepository
을 공개했습니다. 내가 http://localhost:8080/projects/
에 갈 때 나는 기대했던 프로젝트 목록을 얻는다.스프링 데이터의 콜렉션 엔티티에 대한 노출 표시 REST
내가하려는 것은 프로젝트 컬렉션에 대한 JSON 응답의 _links
섹션에 사용자 지정 작업을 추가하는 것입니다.
예를 들어, 나는 이런 식으로 뭔가를 반환하는 http://localhost:8080/projects/
에 전화를하고 싶습니다 : customAction
일부 컨트롤러에 정의되어
{
"_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
}
}
. 나는 다음과 같은 클래스를 만드는 시도했습니다
:
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 –