REST API

-·2020년 12월 7일
0

REST에 대해서

REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다.

JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다.

HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고

HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.

CRUD Operation?

Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT)
Delete : 삭제(DELETE)
HEAD: header 정보 조회(HEAD)

REST의 장단점

  • 장점

    HTTP프로토콜을 이용하여서 REST를 위해서 별도의 인프라를 구축할 필요가 없다.

    HTTP프로토콜을 활용하는 모든 플랫폼에서 사용이 가능하다.

    Hypermedia API의 기본을 충실히 지키면서 범용성을 보장한다.

    REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다.

    서버와 클라이언트의 역활을 명확하게 분리한다.

  • 단점

    표준이 존재하지않는다.

    사용할수있는 메소드가 4가지밖에 없다.

    브라우저를 통해 테스트할 일이 많은 서비스라면 쉽게 고칠 수 있는 URL보다 Header 값이 왠지 더 어렵게 느껴진다.

    구형브라우저가 아직 제대로 지원 못할수도 있다.

REST설계하는 방법

URL는 정보의 자원을 표현한다.

제목 대로 URL는 정보의 자원을 표현해야하기 때문에 설계 할때 몇 가지 지켜야 할 것들이 있습니다.

1) 소문자를 사용한다.

  • 대소문자에 차이를 두기 떄문에(foo.com과 FOo.com은 서로 다르다) 혼란을 줄 수 있기 때문에 지양하는 것이 좋다.

2) 하이픈( - )을 사용한다.

3) 확장자를 사용하지 않는다.

http://foo.com/world.txt
http://foo.com/world.png

위와 같이 했을 때, 확장자에 때른 url을 만들어야 하기 떄문에 비효울적일 수 있다.

4) 밑줄( __ )은 사용하지 않는다.

자원에 대한 행위는 HTTP Method로 표현한다

아래가 대표적으로 사용하는 4가지 Mehtod이다.

HTTP Method역할
GETGET을 동해 해당 리소스를 조회합니다.
POSTPOST를 통해 해당 URL를 요청하면 리소스를 생성합니다.
PUTPUT을 통해 해당 리소스를 수정합니다.
DELETEDELETE를 통해 해당 리소스를 삭제합니다.

예를 들어 글을 수정하기 위해선 아래와 같이 할 수 있다.

POST /posts/put/:id (X)
POST /posts/update/:id (X)
PUT /posts/:id (O)
profile
거북이는 오늘도 걷는다

0개의 댓글