2013-10-25 6 views
1

우리는 응답 페이로드의 여러 URI 목록을 클라이언트에 반환하는 REST 기반 GET 구현을 구현하고 있습니다. 나중에 클라이언트는 각각의 URI를 사용하고 개별 URI에 대해 GET을 수행하여 별도의 페이로드를 가져옵니다. POST가 새 자원을 만든 후에 만 ​​URI가 Location 또는 Content-Location 머리글에 반환되지 않습니다.URL이 포함 된 GET 응답

다음 구현 유형이 REST 표준을 위반합니까?

**Initial Call** 

    GET /AllURIs 
    HTTP 200 OK 
    content-type:applicaton/xml 
    <URIs> 
     <URI> /somelocation/1 </URI> 
     <URI> /somelocation/2 </URI> 
     <URI> /somelocation/3 </URI> 
     <URI> /somelocation/4 </URI> 
     <URI> /somelocation/5 </URI> 
    <URIs> 

    **Later Call** 

    GET /somelocation/1 
    <NewObject> 
     ......... 
    </NewObject> 

답변

1

URL은 페이지 매김 같은 새로운 자원을 게시 이외의 시나리오에서 반환 할 수 있습니다.

리소스에 대한 관련 URL이 여러 개인 경우 IMO는 응답 페이로드에서 반환하는 대신 링크 헤더에 추가하는 것이 가장 좋습니다. 우리는이 접근법을 페이지의 다음, 이전, 처음과 마지막 URL의 일부로 보낸 곳 Link Header

귀하의 REST 요청의 유일한 목적이 URL 목록을 얻는 것일 경우 (GET) 그리고 그것은 당신이 당신의 자원을 어떻게 설계했는지, 응답 몸체에 URL을 사용하는 것은 괜찮습니다.

0

상대 URL보다는 절대 URL을 사용해야합니다. 제안 된대로 구조를 사용할 수 있습니다. 괜찮습니다. 그러나 Atom 링크를 사용하는 것도 좋습니다.

관련 문제