API와 REST API

·2023년 12월 2일
0

Spring Boot

목록 보기
7/21
post-thumbnail

📚 API란?

(사진 출처 ⏩ 코딩 공부방)

만약에 우리가 식당에 갔다고 생각해 보자. 우리는 요리를 주문할 때 바로 요리사에게 말하는 것이 아니라 점원에세 요리를 주문한다. 그러면 점원은 요리사에게 '요리를 만들어 달라!'고 요청하고, 요리가 완성되면 다시 점원이 손님에게 요리를 전달한다.

여기서 손님은 클라이언트, 주방에서 일하는 요리사가 서버, 중간에 있는 점원은 API라고 생각하면 된다. API는 클라이언트의 요청을 받아서 서버에게 가져다 준다. 서버는 API가 준 요청을 처리해 결과물을 만들고 이것을 다시 API에게 전달한다. 최종적으로 API는 결과물을 클라이언트에게 제공한다.

즉, API는 클라이언트의 요청을 서버에게 잘 전달하고, 서버의 결과물을 클라이언트에게 잘 돌려주는 역할을 한다.


📖 REST API란?

그러면 REST API란 무엇일까?

REST API는 Representational State Transfer의 줄임말로, 웹의 장점을 최대한 활용하는 API다. 풀어서 말하면 자원을 이름으로 구분해 자원의 상태를 주고받는 API 방식이다. 쉽게 말해 명확하고 이해하기 쉬운 API를 의미한다.

REST API는 URL의 설계 방식을 말한다. REST API의 특징을 알아보자.

특징

  • 서버/클라이언트 쿠조
  • 무상태 (Stateless)
  • 계층화
  • 인터페이스 일관성

장점

URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있다. 그리고 상태가 없기 때문에 클라이언트와 서버의 역할이 명확히 분리된다. 또한 HTTP 표준을 사용하는 모든 플랫폼에서 사용할 수 있다!

단점

GET, POST 등 HTTP 메소드 개수에 제한이 있다. 또한 설계를 하기 위해 공식적으로 제공되는 표준 규약이 없다.

그럼에도 REST API는 주소와 메소드만 보고 요청의 내용을 파악할 수 있다는 강력한 장점이 있어 많은 개발자가 사용한다. REST API를 사용하기 위해서는 지켜야 하는 규칙이 있다.

REST API의 규칙

규칙 1. URL에는 동사를 쓰지 않고 자원을 표시한다.

예를 들어 학생 중에 id가 1인 학생의 정보를 가져오기 위한 URL은 이런 형태로 설계할 수 있다.

/student/1

규칙 2. 동사는 HTTP 메소드로 작성한다.

메소드명의미
POST생성 (create)
GET조회 (read)
PUT수정 (update)
DELETE삭제 (delete)
GET/articles/1 // 기사 1개 조회
POST/articles // 기사 생성
PUT/articles/1 // 기사 1개 수정
DELETE/articles/1 // 기사 1개 삭제
profile
풀스택 개발자 기록집 📁

0개의 댓글