본문 바로가기
Node.js

15일차 REST API URL 규칙

by 케이리케리 2023. 12. 4.

 

웹 서버 - 정적 페이지를 처리

웹 어플리케이션 서버 - 동적 페이지를 처리

정적 페이지? 화면의 내용/데이터 등의 변동이 없는 페이지 

동적 페이지? 데이터 처리/연산을 통해 화면의 내용, 데이터가 변하는 페이지

 

API?

Application Programming Interface(애플리케이션 프로그램 인터페이스)

 

API란? 비개발자가 알기 쉽게 설명해드립니다! | 요즘IT

여러분은 API가 무엇인지 알고 계신가요? 자주 듣게 되지만 그 개념이 무엇인지 정확하게 알기란 쉽지 않은데요. 이번 시간 위시켓이 API란 무엇인지 알기 쉽게 설명해드리고자 합니다. 위시켓과

yozm.wishket.com

 

Interface?

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

 

 

프로토콜은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

 

HTTP?

HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버 프로토콜이란 (보통 웹브라우저인) 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미합니다. 하나의 완전한 문서는 텍스트, 레이아웃 설명, 이미지, 비디오, 스크립트 등 불러온(fetched) 하위 문서들로 재구성됩니다.

 

REST API? 

HTTP 규약을 잘 따른 API

 

RESTful API?

HTTP 규약을 매우 매우 잘 따른 API

 

URL?

Uniform Resource Locator

인터넷 상에서 웹 페이지가 어디있는지 위치를 알려주는 것 뿐 아니라, 데이터 연산 해달라고 서버에 요청을 보내는 방법

웹 페이지 주소라고 할 수 있다.

 

 

URL + method

✅ REST API URL 규칙
- 대문자 X, 소문자 O
- 언더바(_) X, 하이픈(-) O
- 마지막에 /(슬러시) 포함 X
행위를 포함하지 X = 목적(method)을 포함하지 않는다.
- 파일 확장자 포함 X
- 복수형을 쓴다
cf. 복수형으로 표현하면 좋은 이유
   - 상품"들" 중에 id값을 가지는 개별 데이터
   - 통일감

 

http://localhost:8888/post product - 상품 등록 => POST/product

http://localhost:8888/select_all_products - 전체 상품 조회 => GET/products

http://localhost:8888/DeleteAllProducts - 전체 상품 삭제 => DELETE/products

 

1. 상품 전체 조회 GET

    http://localhost:8888/products

2. 상품 개별 조회 GET

    /products/{id}

    ex. http://localhost:8888/products/1 => id=1 인 데이터를 요청

          http://localhost:8888/products/2

          http://localhost:8888/products/3

3. 상품 개별 수정 PUT

    http://localhost:8888/products/{id}

 

==> API 설계를 한 것이다.