Rest API 특징들 중에서 이번에는 Uniform Interface에 대해 설명할 까 하다.
정의는 URL로 지정된 리소스에 대한 조작을 통일하고 한정된 인터페이스로 수행하는 아키텍쳐 스타일이다. 단순히 정의로만 생각을 하면 추상적으로 들려 이해가 가지 않을 수가 있으니 한 번 풀어서 설명해볼려고 한다.
여러 특징들을 나누어서 Rest API에 관한 정의를 이해할 수 있다고 생각한다.
1) URL과 한정된 인터페이스
예전에는 param을 통해 해당 resource에 접속을 할 수 있었다. 예를 들면 programmer7895.tistory.com?user=admin 이라는 URI를 통해서 관리자모드로 들어갈 수 있었다. 하나의 param이라면 상관이 없지만, 상황에 따라서는 URI 주소가 길어지는 염려가 생긴다. Rest API 특징 중에 하나가 URL을 쓰는 동시에 한정된 인터페이스로써 사용하면 굳이 주소를 길게 적을 필요없이 한정된 자원으로도 해당 resource를 접근할 수 있는 장점을 가지게 된다.
URI |
http://programmer7895.tistory.com?auth=admin |
REST를 적용한 URL |
http://programmer7895.tistory.com/admin |
2) 한정된 인터페이스의 의미
1번에서 한정된 인터페이스라고 언급을 했다. 그렇다면 한정된 인터페이스란 무엇인가?
정의를 딱 설명하기보다는 표를 통해서 보여주는게 나을 거 같다.
Resource |
GET |
PUT |
POST |
DELECT |
http://programmer7895.tistory.com/admin |
관리자 페이지 조회 |
관리자 페이지 수정 |
관리자 페이지 생성 |
관리자 페이지 삭제 |
GET, PUT, POST, DELECT 4가지 인터페이스로 한정지어서 해당하는 Resource를 접근한다. 다양한 방법으로 설명이 될 수 있는 Representation을 가진다. 다시 말해서 리소스 자체를 전송하는 것이 아닌 리소스 표현을 전송한다고 생각하면 될 거 같다. 이런 방식을 사용하게 되면 URL 주소 길이가 짧아 질 뿐더러 하나의 URL이 많은 Representation을 나타낼 수 있는 장점을 가지게 된다.
'web > rest' 카테고리의 다른 글
Rest API - Cacheable (0) | 2018.11.06 |
---|---|
Rest API - Stateless (0) | 2018.10.30 |
RESTful API란 무엇인가? (0) | 2018.10.16 |