
01. API(Application Programming Interface)란?
- 애플리케이션끼리 연결해주는 매개체이자 약속
- API 작성 : 웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스 제공
- API 내용 : 데이터를 받아 DB에 저장하고 저장된 데이터를 읽어서 웹 어플리케이션에 제공해 사용자가 원하는 목적을 이뤄주어야함
02. REST API란?
- REST :
Representational State Transfer, 월드 와이드 웹과 같은 분산 하이퍼 미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식(......)
- 간단히 말해서
URL, Header, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의
- REST 아키텍쳐는 사람이 봐도 쉽게 이해할 수 있도록 자원을 정의하고 이 자원을 중심으로 표현을 구성하는 원칙을 제시함
03. REST API 특징
1. 자원(Resource) - URL
- 소프트웨어가 관리하는 모든 것을 자원으로 표현 가능(www.장바구니.com, www.회원가입.com 등)
2. 행위 - HTTP method
- 자원에 대한 행위를 표현
- CRUD
- Create : 생성(POST)
- Read : 조회(Read)
- Update : 수정(PUT, PATCH)
- Delete : 삭제(DELETE)
3. 표현
- 해당 자원의 표현 방법 설명(
JSON, XML 같은 형식)
- HTTP에서는
Content-Type이라는 헤더를 통해 표현 방법을 서술함
04. REST API 예시
- 자원
- TO-DO 항목을 자원으로 정의
- TO-DO 항목은 제목과 완료 여부로 구성
- 행위
GET /todos : 모든 To-Do 항목을 조회
POST /todos : 새로운 To-Do 항목을 생성
PUT /todos/{id} : 특정 To-Do 항목을 업데이트
DELETE /todos/{id} : 특정 To-Do 항목을 삭제
05. REST API 개발
1. 전체 상품 목록 조회 API 구현
- JS 파일에 상품 데이터 넣기
const goods
- GET 메소드 사용하기
(@@.get("경로",(req,res)=>{})
- JSONS 형식으로 받아오기
res.json({})

2. 상품 상세 조회 API 구현
- 입력값 받아올 수 있도록 GET method 작성
@@.get("/경로/:값",(res,req)=>{}
params 값 변수에 할당 const {goodsId} = req.params
반복문 또는 filter를 이용해 조건(:goodsId)과 일치하는 값이 있는지 비교(둘 중 하나 사용하기!)
URL Parameters 수정해서 상품 id로 특정 상품을 조회하기
- URL Parameters : router 주소에 사용되는 특수한 패턴중 하나. req.params 객체 안에 들어있음
