REST 기반 API에서 작업 중이며 부모/자식 관계를 나타내는 표준 방법을 알아내는 데 어려움이 있습니다. (저는 CXF에서 콩을 작성하고 JAX-RS와 JAXB를 사용하고 있습니다 .CXF에서 제공하는 기본 예제부터 시작했습니다.)REST 및 JAX-RS를 통해 부모 - 자식 엔터티를 모델링하는 방법
내 문제는 Foo와 Bar가 있다고 가정 해 보겠습니다. Foo와 Bar는 1-N 관계가 있습니다. 즉, 1 Foo는 많은 막대를 가지고 있습니다. 내 질문은, 바 Foo가 무엇을 가지고 있는지 알아내는 표준 방법은 무엇입니까? Foo가 소유 한 Bar 리소스에 액세스하는 표준 방법은 무엇입니까? http://xxx/fooservice/foos
을 얻을에 하나의 foo는에서 작동
:
나는 예를 들어 내가에서, FOOS를 나열 할 수 있음을 알아 낸
PUT/UPDATE/DELETE http://xxx/fooservice/foo/ {fooid}
그러나 Foo 121에있는 바를 어떻게 나열합니까? 그리고 어떻게 접근 할 수 있습니까? 난 그냥 빈에 대한 출력하지 컬렉션을 속성 않는 기본 JAXB 마샬를 보이는 것으로 나타났습니다, 그래서 푸 인 경우 :
Foo - String id - String name - Collection bars
JAXB는 같은 출력 :
< foo는 > < ID를/ID > < 이름 > foo는 이름 </이름 > </foo는 > < - 바의 부재 속성주의
클라이언트가 Foo의 바가 있다는 것을 합리적으로 예상 할 수있는 방법이 없기 때문에 문제가 있습니다. 내가 사용 바의 목록을 가져 상상할 수 그래서 동안 :
는 GET http://xxx/fooservice/foo/121/bars
어떻게 엔티티의 출력이 그것에 대해 아무 말도하지 않는 경우 푸 바있다 것을 알고 클라이언트? 이제 목록을 가져 않는 클라이언트를 가정하면, 개체 작업이 같은 것 같다 : UPDATE//
GET 삭제 http://xxx/fooservice/foo/121/bar/435
푸 (121)에 의해 소유 바 (435)를 액세스 할 것이다 당신이 원하는 무엇