Web API란?
1. Web API란?
- REST API를 완벽하게 구현 하지 못할 경우 Web API라고 한다.
- REST의 HATEOAS와 self-descriptive를 만족 못하는 경우가 대부분 Web API라고 칭한다.
2. Web API 디자인 가이드
1) URI는 정보의 자원을 표현해야한다.
Ex) (1) GET /members
-> 위 표현 방식은 멤버의 모든 정볼ㄹ 달라는 요청이다.
잘못된 방식
GET /members/delete/1
-> GET은 정보를 요청 할떄만 써야 한다. 위와 같이 동사로 삭제 표현을 하면 안된다.
(3) DELTE /members/1
-> HTTP Method중 하나인 DELETE를 이요하여 삭제를 표현해야한다.
2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
Method |
역활 |
POST |
POST를 통해 해당 URI를 요청하여 리소스를 생성합니다. |
GET |
GET을 통해 리소스를 조회 합니다. GET을 통해 해당 도큐먼트에 대한 자세한 정보를 가져 옵니다. |
PUT |
PUT을 통해 리소스는 업데이트합니다. |
DELETE |
DELETE를 통해서 리소스를 삭제합니다. |
EX) (1)조회 API
GET /members/1 (o)
GET /members/get/1 (x) : URI에서 행위를 의미하는 get이 들어가서 안된다.
(2)추가 API
POST /members (o)
GET /members/add (x) : URI에서 행위를 의미하는 add이 들어가서 안된다.
(3)수정 API
PUT /members/1 (o)
PUT /members/update/1 (x) : URI에서 행위를 의미하는 update이 들어가서 안된다.
(4)삭제 API
DELTE /members/1 (o)
DELTE /members/delete/1 (x) : URI에서 행위를 의미하는 delete이 들어가서 안된다.
3) 계층을 나타낼때는 슬러시 구분자(/)를 사용해야 한다.
Ex)- http://domain/house/apartments
- http://domain/departments/1/employees
3. URI 디자인 가이드
(1)URI는 마지막 문자로 슬래시 구분자(/)를 포함 하지 않는다.
(2)하이픈(-)은 URI가독성을 높일때 사용법
(3)언더바(_)는 사용하지 않는다.
(4)URI경로는 소문자만 사용한다. RFC 3986(URI 문법형식)은
URI스키마와 호스트를 제외하고대소 문자를 구별한다.
(5)파일 확장자는 URI에 포함시키지 않는다. Accept Header를 사용해서 표현 한다.
- Accept: */*
- 클라이언트가 허용할 수 있는 파일 형식(MIME TYPE)으로 */*은 특정 유형이 아닌
모든 파일형식을 지원한다는 의미가 됩니다.
'프로그래밍 > web Programming' 카테고리의 다른 글
[Maven] 2. Maven 프로젝트 설정 (0) | 2018.09.15 |
---|---|
[Maven] 1. Maven 프로젝트 만들기 (1) | 2018.09.15 |
REST API 란?? (0) | 2018.08.22 |
[MySQL] MySQL DB 기본 사용법 (0) | 2018.07.25 |
[WebTool] URL Shortener and Link Management Platform (2) | 2018.06.24 |