2016-07-05 5 views
-1

REST API 사양에 대해 읽었습니다. 이러한 원칙은 다음과 같습니다REST API와 비 REST API

  1. 모든
  2. 각 리소스는

지금 연락처

를위한 테이블이 가정 표준 HTTP 메소드를 사용하여 고유 식별자에 의해 식별되는 자원이다
id , owner, contact name,contact number, created At 

데이터를 소비하는 API를 설계하고 싶습니다. 나는 다음과 같은 방법으로 API를 디자인 할 수있다.

Get /contact/owner/david 

또는

Get /getContactByOwner?ownerName="david" 

테이블

post /contact/owner 

{contactDetail JSON in request param} 

또는

post /addToContact?owner="john"&... 
로 쓰기 위해 소유자의 접촉을 얻기 위해

어떤 디자인이 RESTful입니까? 다른 하나는 무엇이 잘못 되었나요?

+0

경험이 많은 프로그래머의 모범 사례와 의견을 묻는 것은 잘못 되었습니까? stackoverflow는 구문 오류를 수정하기 위해서입니까? @downvoter. –

+0

* "많은 좋은 질문들이 전문가의 경험을 토대로 어느 정도의 의견을 제시하지만,이 질문에 대한 답변은 사실, 참고 문헌 또는 특정 전문 지식보다는 의견에 거의 근거를 두는 경향이 있습니다."* 또한 중복 정보가 있습니다. http : //stackoverflow.com/q/1619302/3001761 – jonrsharpe

+0

내 질문에 나는 어느 디자인이 안심이냐고 물었다. 둘 다 안심하면 그 이유에 의해 뒷받침되는 경우 유효한 응답이됩니다. 각 가능성은 사양을 지키는 사실과 참조로 뒷받침 될 수 있습니다. 결코 모호한 언어를 사용하지 않습니다. @jonrsharpe. –

답변

1

RESTful 명명 규칙을 사용한 경험 법칙은 명사를 끝점으로 사용하는 것입니다 (동사는 get/post/put/delete/etc로 제한되어야하기 때문에). 따라서 귀하의 예에서는 Get contact/owner/davidPost contact/owner이 바람직합니다. 그러나 인 경우 실제로 REST 아키텍처를 사용하는 경우 기술적으로 HATEOAS (Hypertext-as-the-application-state-state)를 사용하고 XML 또는 HTML 응답의 링크를 포함해야하므로 JSON 본격적인 REST와는 반대로 REST와 비슷할 것이다. 하루가 끝나면 모든 것이 중요합니다. 응용 프로그램 사용자의 요구에 맞는 것을 사용하십시오. 이는 다소 문서화되고 직관적 인 방식으로 이루어져야합니다.