프로그래밍/web Programming

Web API란?

jinkwon.kim 2018. 8. 23. 01:07
728x90
반응형

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)으로 */*은 특정 유형이 아닌
      모든 파일형식을 지원한다는 의미가 됩니다.



728x90
반응형