Web API 란? - accidentlywoo/legacyVue GitHub Wiki
Web API 란?
- 들어가기 전에 Web API에 대해 알아보고 REST API와 Web API의 차이에 대해 알아봅니다. Web API를 잘 작성하기 위한 디자인 가이드에 대해 살펴보도록 합니다.
학습 목표
- REST API와 Web API의 차이에 대해 이해합니다.
- Web API의 디자인 가이드에 대해 이해합니다.
핵심 개념
- Web API
- HTTP Methods
학습하기
Web API 디자인 가이드
- URI는 정보의 자원을 표현해야 합니다.
- 자원에 대한 행위는 HTTP Method(GET,POST,PUT,DELETE)로 표현합니다.
자원에 대한 행위는 HTTP Method로 표현
URI는 정보의 자원을 표현해야 한다.
- GET/members : 위의 표현은 멤버의 모든 정보를 달라는 요청입니다.
- GET/members/delete/1 : GET은 정보르 요청할 때 사용합니다. 위와 같이 동사로 삭제를 표현하면 안 됩니다.
- DELETE/members/1 : HTTP Method 중의 하나인 DELETE를 이용하여 삭제를 표현해야 합니다.
자원에 대한 행위는 HTTP Method 로 표현
-GET /members/1 (o) -GET /members/get/1 (x) -GET /members/add (x) -POST /members (o) -GET /members/update/1 (x) -PUT /members/1 (o) -GET /members/del/1 (x) -DELETE /members/1 (o)
슬래시 구분자(/)는 계층을 나타낼 때 사용
http://domain/houses/apartments
http://domain/departments/1/employees
- URI 마지막 문자로 슬래시 구분자(/)를 포함하지 않습니다.
- 하이픈(-)은 URI가독성을 높일 때 사용합니다.
- 언더바(_)는 사용하지 않습니다.
- URI경로는 소문자만 사용합니다.
- RFC 3986(URI 문법 형식)은 URI스키마와 호스트를 제외하고는 대소문자를 구별합니다.
- 파일 확장자는 URI에 포함하지 않습니다.
- Accept Header를 사용합니다.
상태 코드(성공)
상태 코드(클라이언트로 인한 오류)
상태 코드(서버로 인한 오류)
생각해보기
- 기계와 기계가 통신하는 방법 중에 Web API가 있습니다. 이 외에 또 어떤 방법을 기계와 기계가 통신할 수 있을까요?