게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
RESTFUL API에서 리소스의 분류가 헷갈려요.
게시물ID : programmer_12161짧은주소 복사하기
작성자 : 一口二言
추천 : 0
조회수 : 663회
댓글수 : 8개
등록시간 : 2015/07/17 02:02:09
옵션
  • 창작글
  • 본인삭제금지
RESTFUL API 디자인에서 리소스의 종류가

컬렉션 리소스 (복수명사)
컬렉션 리소스는 서버에서 관리하는 디렉터리라는 리소스다. 클라이언트는 새로운 리소스를 제안해서 컬렉션에 포함시킬 수 있다. 그러나 새로운 리소스를 생성할지는 컬렉션에 달려 있다. 컬렉션 리소스에 포함하고 싶은 것을 선택하고, 포함된 각 리소스의 URI를 결정한다.

스토어  (복수명사)
스토어는 클라이언트에서 관리하는 리소스 저장소다. 스토어 리소스는 API 클라이언트가 리소스를 넣거나 빼는 것, 지우는 것에 관여한다. 스토어 스스로 새로운 리소스를 생성하지 못하기 때문에, 새로운 URI를 만들지는 못한다. 대신 리소스는 스토어에 처음 저장될 때, 클라이언트가 선택한 URI를 가진다.

도큐먼트 리소스 (단수명사)
도큐먼트 리소스는 객체 인스턴스나 데이터베이스 레코드와 유사한 단일 개념이다. 일반적으로 도큐먼트의 상태 표현은 값을 가진 필드와 다른 관련 리소스와의 링크 둘 다를 가지게 된다. 기본적인 필드와 링크 기반 구조로 인해, 도큐먼트 타입은 다른 리소스 원형들의 기반 원형이 된다. 즉, 서로 다른 리소스 원형 세 개는 도큐먼트 원형에서 분리된 것이라 볼 수 있다.

콘트롤러 리소스 (동사, 동사구)
컨트롤러 리소스는 절차적인 개념을 모델화한 것이다. 컨트롤러 리소스는 실행 가능한 함수와 같아서 파라미터(입력 값)와 반환 값(출력 값)이 있다. 전통적인 웹 애플리케이션이 'HTML form'을 사용하듯이, REST API는 CRUD라고 알려진 표준적인 메서드와는 논리적으로 매핑되지 않는 애플리케이션 고유의 행동을 컨트롤러 리소스의 도움을 받아 수행한다. 일반적으로 컨트롤러 이름은 URI 경로의 제일 마지막 부분에 표시되며, 계층적으로 뒤따르는 자식 리소스는 없다.


이렇게 4가지로 분류되는 것으로 알고 있습니다.
여기서 콘트롤러는 어느정도 알겠는데 나머지 세가지 리소스의 분류를 정확히 모르겠습니다.

기본적으로 URL 구조에서 순서가 컬렉션 > 스토어 > 도큐먼트 > 콘트롤러 이런식으로 진행된다고 합니다.

예를 들면 API URL구조가
http://api.test.com/categories/blouse/shirt/319 (카테고리, 대분류, 소분류, 상품번호)
이런식으로 되어 있다면 각각의 리소스가 어떤 분류에 속해있는지를 모르겠습니다.

/컬렉션/스토어/스토어/도큐먼트 이런식으로 분류하는게 맞는건지ㅠㅠ
categories는 컬렉션이 맞는 것 같은대 나머지 대분류, 소분류는 어떤 리소스인지, 상품번호는 어떤 리소스인지 모르겠습니다.

http://api.test.com/members/456/follow (회원/회원번호/친구추가)
/컬렉션/도큐먼트/콘트롤러 여기서는 members가 컬렉션, follow가 콘트롤러는 맞는 것 같은데 회원번호인 456은 어떤 리소스에 속한 건지 모르겠습니다.ㅠㅠ

아니면 고유번호는 네가지 분류 중 해당하는게 아닌건가요?
저 네가지 분류법에 대해 자세한 설명이 있으면 부탁드립니다.ㅠㅠ
출처 참고서적
"일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙" - 마크 마세, 한빛미디어
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호