[백엔드] API와 REST API

개발log·2024년 4월 19일

백엔드 기초지식

목록 보기
2/8
post-thumbnail

API

프로그램 간에 상호작용하기 위한 매개체

REST API

  • Representational State Transfer Application Programming Interface
  • 자원을 이름으로 구별해 자원의 상태를 주고받는 API 방식 - URL의 설계 방식

장단점

장점

  • 주소와 메서드만 보고 요청의 내용을 파악 가능
    • URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있음
  • 상태가 없다는 특징이 있어 클라이언트와 서버의 역할이 명확하게 분리
  • HTTP 표준을 사용하는 모든 플랫폼에서 사용 가능

단점

  • HTTP 메서드(GET, POST 등) 방식의 개수에 제한이 있음
  • 설계를 하기 위해 공식적으로 제공되는 표준 규약이 없음

REST API를 사용하는 방법

1. URL에는 동사를 쓰지 말고, 자원을 표시해야 한다.

URL 설계 예

학생 중에 id가 1인 학생의 정보를 가져오는 URL

- /studens/1
- /get-student?student_id=1 // 동사 사용 - 추후 개발 시 혼란 야기할 가능성 있음
예문적합성설명
/articles/1적합동사 없음, 1번 글을 가져온다는 의미가 명확, 적합
/articles/show/1/show/articles/1부적합show라는 동사가 있음, 부적합

2. 동사는 HTTP 메서드로

HTTP 메서드

  • 서버에 요청하는 방법을 나눈 것
  • POST - 만들기, GET - 읽기, PUT - 업데이트, DELETE - 삭제
  • URL에 입력하는 값이 아니라 내부적으로 처리하는 방식을 미리 정의하는 것
설명적합한 HTTP 메서드와 URL
id가 1인 블로그 글을 조회하는 APIGET/articles/1
id가 1인 블로그 글을 추가하는 APIPOST/articles/1
id가 1인 블로그 글을 수정하는 APIPUT/articles/1
id가 1인 블로그 글을 삭제하는 APIDELETE/articles/1

※ 슬래시는 계층 관계를 나타내는 데 사용

profile
나의 개발 저장소

0개의 댓글