본문 바로가기

데브코스

예외 처리

핸들러(handler) 란?

HTTP request 가 날아오면 자동으로 호출되는 메소드

노드: 콜백 함수로, app.HTTPmethod(path,핸들러)

cf. 스프링: 컨트롤러 

 

HTTP 상태 코드를 통한 예외처리

https://hyenee99.tistory.com/78

 

자바스크립트 문법 (+ 리팩토링, 상태 코드)

자바스크립트  foreach:  for + each => 향상된 / 개선된 for문: 객체 (또는 배열)에서 요소를 하나 꺼낸 다음 매개변수로 그 요소를 전달하여 호출되는 콜백함수: 첫 번째 매개변수로는 데이터, 두 번

hyenee99.tistory.com

const express = require('express')
const app = express() 
app.listen(3000)

const fruits = [
  { id: 1 , name:'apple'},
  { id: 2 , name:'orange'},
  { id: 3 , name:'strawberry'},
  { id: 4 , name:'blueberry'}
]

// 과일 전체 조회
app.get('/fruits', (req, res)=>{
  res.json(fruits)
});

// 과일 개별 조회
app.get('/fruits/:id', (req, res)=>{
  let id = req.params.id
  let findFruit = fruits.find( f => f.id == id) 
                // fruits 배열 안에 있는 객체 중, id 값이 params.id 랑 같은 객체 
  if(findFruit)              
    res.json(findFruit)
  else // 예외를 터뜨린다 = http status code 성공 X , 실패!
    res.status(404).send (
      "전달주신 id 로 저장된 과일이 없습니다."
    )
});

 

➡️ 해당 id 를 가진 과일이 있을 경우 객체가 잘 출력되고, 해당 id 에 해당하는 과일이 없을 경우 res.status(404).send 를 통해 예외가 터뜨려지는 것을 확인할 수 있다.