본문 바로가기
프로그래밍

REST API 기본

by so5663 2022. 10. 31.

REST API가 나온 배경

최근의 서버 프로그램은 여러 웹 브라우저는 물론이며, 아이폰, 안드로이드

애플리케이션과의 통신에 대응할 수 있어야 합니다.

따라서 플랫폼에 맞추어 새로운 서버를 만드는 수고를 들이지 않기 위해 범용적으로

사용성을 보장하는 서버 디자인이 필요하게 되었습니다.

이런 과정에서 개발자들은 Client Side를 전혀 고려하지 않고 메시지 기반, XML, JSON과 같은 Client에서 바로

객체로 치환 가능한 형태의 데이터 통신을 지향하게 되면서 Server와 Client의 역할을 분리하게 되었다.

 

REST 구성

rest api 는 3가지로 구성되어 있습니다.

 

자원(RESOURCE) - URI

자원을 구별하는 ID는 /orders/order_id/1 와 같은 HTTP URI 이다.

 

행위(Verb) - HTTP METHOD

HTTP 프로토콜은 GET, POST, PUT, DELETE와 같은 메서드를 제공한다.

 

표현(Representations)

Client가 자원의 상태 (정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답 (Representation)을 보낸다

현재는 JSON으로 주고 받는 것이 대부분이다.

 

 

RESTful API를 위한 HTTP Methods

 

REST API 디자인 가이드

첫 번째, URI는 정보의 자원을 표현해야 한다.
두 번째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.

 

URL는 정보의 자원을 표현을 한다. 리소스명은 동사보다는 명사를 사용

GET /members/delete/1  ->  DELETE /member/1

왼쪽에 있는 경우는 REST를 적용하지 않은 잘못된 URI입니다.

자원에 대한 행위는 HTTP Method(GET, POST, DELETE, PUT) 으로 표현해야 합니다.

 

회원정보를 가져올 떄

GET /member/1

 

회원을 추가할 때

POST /member/2

 

회원 정보를 수정할때

PUT /member/1

 

URI 설계 시 주의할 점

1. 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용

2. URI 마지막 문자로 슬래시(/)를 포함하지 않는다.

3.밑줄(_)은 URI에 사용하지 않는다.

 

 

 

출처: https://meetup.toast.com/posts/92