[데브코스 TIL] Day 12 / REST API - 웹 풀 사이클 데브코스 TIL

김진환·2023년 12월 3일
1

'23.12.04(월) 웹 풀 사이클 데브코스 TIL

REST API는 무엇인가?

API

API(Application Programming Interface)

응용 프로그램 프로그래밍 인터페이스

응용프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. - 위키백과

Interface
그럼 인터페이스란 무엇인가?

서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다. - 위키백과

Inter - "사이의", "상호 간의"
face - "마주하다", "소통하다"

웹 개발의 면에서 생각하면

사용자와 프로그램, 두 가지 장치, 브라우저와 서버 등

데이터 연산을 요청하는 정보 요청 주체와 정보 전달 주체를 연결하는 매개체 역할을 의미한다.

위를 참고하면

API는 "응용프로그램에서 다양한 기능을 이용할 수 있게 해주는 매개체" 정도로 생각해 볼 수 있다.

일례로, 지하철 노선도 앱 개발자는, API를 통해 교통공사의 DB에 접근해 정보를 요청해 전달받아 화면에 보여준다.

REST API

지난 학습에서 HTTP에 대해 간단하게 배웠다.

HTTP는 웹 상에서 원활한 통신을 위해 정한 메시지의 규약으로

웹에서 사용할 수 있는 API는 HTTP를 따라 보내도록 발전하였고,

HTTP의 조건을 잘 따르는 REST API 라는 개념이 탄생했다.

REST(REpresentational State Transfer) API

REST라는 아키텍쳐를 사용하여 설계한 API 라는 뜻으로,

HTTP의 규약을 잘 따르는 것이 이에 해당한다고 볼 수 있다.

HTTP 프로토콜 템플릿 중 Body에 연산을 요청하려는 데이터와 목적을 담는다.

<REST API URL 규칙>

  • 대문자 X, 소문자 O

  • 언더바(_) X, 하이픈(-) O

  • 마지막에 “/” 포함 X

  • ✨ 행위 포함 X = 목적을 포함하지 않는다.
    → POST, GET 등의 목적은 이미 API에 정의되어있으므로 표기에포함하지 않는다.

  • 파일 확장자 포함 X

  • 복수형을 쓴다.

HTTP Method

URL주소를 통해 요청을 전송하려는 위치와 요청 내용을 담는다.

  1. 상품 전체 조회

“GET” + products

http://localhost:8888/products

  1. 상품 개별 조회

“GET” + product

http://localhost:8888/products/[상품id]

  1. 상품 개별 수정

“PUT” + product

http://localhost:8888/products/[상품id]

복수형 표현을 사용하는 이유
product/[상품id]
개별 상품이기 때문에 product라는 단수를 사용할 수도 있지만,

products라는 복수형 표현을 사용하여

products라는 단어는 "상품"에 대한 모든 요청을 담당한다는 통일성을 부여할 수 있다.

회고

REST, RESTful, API 등 이리저리 들어본 단어들의 머리 속의 모호한 정의들을 바로잡을 수 있는 시간이었다.

REST API에 대해 간단하게 이해할 수 있는 좋은 시간이었고, 얼른 직접 API를 만들면서 사용해보고 싶다!

profile
개발자라는 틀에 얽매이지 않는 성장

0개의 댓글