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 객체 안에 들어있음