복붙노트

[SPRING] null 또는 비어있는 경우 Spring 데이터 ReST 참조 링크 누락

SPRING

null 또는 비어있는 경우 Spring 데이터 ReST 참조 링크 누락

필자는 올리버에 의해 문서와 Restbucks 구현을 샅샅이 뒤졌지만 생성 된 Spring REST 저장소 자원에 대한 링크를 구성 할 수있는 것 같지 않습니다. (나는 그들에 추가 할 수는 있지만, ResourceProcessor를 통해 프로세서를 제거 할 수는 없다.

내 사건은 아주 간단하고 null 링크 또는 빈 컬렉션 (예 : 그래프 노드 부모 / 자식 구조의 경우)를 가리키는 개체에 대한 rel 링크를 생략하고 싶습니다.

아무도 내가 이걸 어떻게 이룰 수 있었는지에 대해 어떤 자극도 느끼지 못했을까요? 이상 적으로 Restbucks README에 제안 된 항목을 갖고 싶습니다. 그러나 사용자 정의 RestResourceEntityLinks 확장이 선택되어 구현이 모든 도메인 개체에 적용될 때 구현에서 생성 된 링크가 사용되는 곳에서는 사용할 수 없습니다.

그러나 아마도 내가 건너 오기 쉬운 방법이있을 것입니다. 아니면 빈 배열이나 null을 가리키는 이러한 링크를 갖는 것은 유효한 hateoas ref이므로 그냥 그대로두고 이동해야합니다.

미리 감사드립니다.

해결법

  1. ==============================

    1.일반적으로 말해서 Resource.getLinks ()를 호출하고 List가 반환되는 방식으로 링크를 제거 할 수 있어야합니다. Resource.removeLink (String rel)가 의미가 있다고 생각한다면 자유롭게 표를 만들 수 있습니다.

    일반적으로 말해서 Resource.getLinks ()를 호출하고 List가 반환되는 방식으로 링크를 제거 할 수 있어야합니다. Resource.removeLink (String rel)가 의미가 있다고 생각한다면 자유롭게 표를 만들 수 있습니다.

    그러나 링크의 존재가 상호 작용할 수있는 관련 리소스가 있다는 것을 클라이언트에게 알리는 데 중요한 역할을한다는 점에서 비어있는 리소스를 가리키는 링크는 의미가 있습니다. 즉, 링크를 사용할 수없는 경우 클라이언트가 관련 리소스를 할당하거나 현재 빈 콜렉션에 요소를 추가 할 가능성을 어떻게 알 수 있습니까?

    링크는 리소스의 현재 상태를 나타내는 것이 아니라 클라이언트가 다음에 할 수있는 / 수행 할 수있는 것의 여력을 나타냅니다. 예를 들어 RESTBucks 프로젝트의 결제 링크를 가져옵니다. 결제가 아직 이루어지지 않은 경우에만 표시됩니다. 완료되면 링크가 사라집니다. 그것은 실제로 당신이 쏘고있는 것과는 정반대입니다 :).

  2. from https://stackoverflow.com/questions/24507336/spring-data-rest-ref-link-omission-when-null-or-empty by cc-by-sa and MIT license