프로그래머스 데브코스TIL
[week2] 백엔드 기초 : Node.js + Express 기본 (1)
이규현2026-01-15
![[week2] 백엔드 기초 : Node.js + Express 기본 (1)](/images/useBlog/TIL.png)
API란?
- Application Programming Interface
- 서로 다른 소프트웨어가 데이터를 주고받거나 기능을 호출할 수 있도록 규격화된 소통 방식(인터페이스)이다.
REST API란?
- Representational State Transfer API
- 웹(HTTP)의 기본 원칙을 잘 지켜서 API를 만들자는 일종의 가이드라인
- REST란?
- 아키텍쳐 스타일의 제약 조건을 준수하여 만든 프로그래밍 인터페이스
- 6가지의 설계 원칙이 있음
- 아키텍쳐 스타일의 제약 조건을 준수하여 만든 프로그래밍 인터페이스
- REST란?
- RESTful API는 REST의 규칙을 더 엄격하게 지키는 것을 의미
REST API 작성 규칙
-
소문자 사용
- URL 경로에는 대문자를 사용하지 않고 모두 소문자로 작성
- 예:
/User-Profiles(X) →/user-profiles(O)
- 예:
- URL 경로에는 대문자를 사용하지 않고 모두 소문자로 작성
-
하이픈 사용
- 가독성을 위해 단어 사이에는 언더바(
_) 대신 하이픈(-)을 사용- 예:
/user_orders(X) →/user-orders(O)
- 예:
- 가독성을 위해 단어 사이에는 언더바(
-
슬래시(/)와 계층 구조
- 슬래시는 자원 간의 계층 관계를 나타낼 때만 사용하며, URL 마지막에는 붙이지 않음
- 예:
/users/1/(X) →/users/1(O)
- 예:
- 슬래시는 자원 간의 계층 관계를 나타낼 때만 사용하며, URL 마지막에는 붙이지 않음
-
행위 포함 금지
- URL에
get,delete,update같은 동사나 함수명을 넣지 않음 - 행위는 HTTP Method(GET, POST 등)로 표현
- 예:
/get-products(X) →GET /products(O)
- 예:
- URL에
-
파일 확장자 사용 금지
- URL 끝에
.json,.xml,.jpg같은 확장자를 표시하지 않음- 예:
/products/1.json(X) →/products/1(O)
- 예:
- URL 끝에
-
명사는 복수형 사용
- 자원을 나타내는 명사는 가급적 복수형으로 통일하여 일관성 유지
- 예:
/user/1(X) →/users/1(O)
- 예:
- 자원을 나타내는 명사는 가급적 복수형으로 통일하여 일관성 유지
URL
- Uniform Resource Locator
- 네트워크 상에서 **'자원(Resource)이 어디에 있는지'**를 나타내는 유일한 주소
- 웹 브라우저가 특정 페이지나 이미지, 데이터를 찾기 위해 사용하는 이정표와 같음
//URL 간단 예시
https://velog.io/leekh010502`
// 1. **Protocol (https://):** 통신 규약
// 2. **Domain (velog.io):** 서버의 주소
// 3. **Path (/@leekh010502):** 서버 내 유저 정보가 저장된 위치
HTTP Method
각 Method는 자원(Resource)에 대해 수행하는 '행위'를 나타냄
-
GET (조회)
- 역할
- 특정 리소스의 상세 정보나 목록을 불러올 때 사용
- 특징
- 서버의 데이터를 변경하지 않으며, 필요한 데이터는 URL의 쿼리 스트링을 통해 전달
- 역할
-
POST (생성)
- 역할
- 서버에 새로운 리소스를 만들 때 사용
- 특징
- 주로 게시글 작성, 회원가입 등에 쓰이며, 데이터는 URL이 아닌 본문(Body)에 담아 보냄
- 역할
-
PUT (전체 수정)
- 역할
- 리소스를 통째로 갈아 끼울 때 사용
- 특징
- 해당 주소에 데이터가 있으면 덮어쓰고, 없으면 새로 생성
- 역할
-
DELETE (삭제)
- 역할
- 특정 리소스를 삭제할 때 사용
- 특징
- 삭제하고자 하는 자원의 ID를 주소에 담아 요청하며, 성공 시 해당 데이터가 제거
- 역할
API 설계 (쇼핑몰 페이지 API 설계 실습)
- 상품 목록 "조회"
- GET /products
- 상품 개별 "조회"
- GET /products/id
- 상품 id 개별 "수정"
- PUT /products/{id}
오늘 배운 점
- REST API 작성 규칙
- 주소창에는 소문자 명사만 사용하고, 계층 구조와 하이픈을 지켜 직관적인 '데이터 이름표'를 만드는 법을 배웠다.
- HTTP Method
- 데이터 조회는 GET, 생성은 POST처럼 기능마다 정해진 '동사'를 사용해 서버에 명령을 내리는 법을 배웠다.