[ Node ] API & REST API

ay0530·2023년 11월 2일
0
post-thumbnail

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 리스트를 제작하는 경우
  1. 자원
  • TO-DO 항목을 자원으로 정의
  • TO-DO 항목은 제목과 완료 여부로 구성
  1. 행위
  • GET /todos : 모든 To-Do 항목을 조회
  • POST /todos : 새로운 To-Do 항목을 생성
  • PUT /todos/{id} : 특정 To-Do 항목을 업데이트
  • DELETE /todos/{id} : 특정 To-Do 항목을 삭제

05. REST API 개발

1. 전체 상품 목록 조회 API 구현

  1. JS 파일에 상품 데이터 넣기 const goods
  2. GET 메소드 사용하기(@@.get("경로",(req,res)=>{})
  3. JSONS 형식으로 받아오기 res.json({})

2. 상품 상세 조회 API 구현

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

0개의 댓글