핸들러(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 를 통해 예외가 터뜨려지는 것을 확인할 수 있다.
'데브코스' 카테고리의 다른 글
[JS] Object.keys() (1) | 2024.09.09 |
---|---|
회원 api 설계 (회원 가입, 회원 조회, 회원 탈퇴) (0) | 2024.09.08 |
youtuber-demo ( 전체 조회, 삭제, 수정) (5) | 2024.09.06 |
자바스크립트 문법 (+ 리팩토링, 상태 코드) (0) | 2024.09.06 |
POST method (0) | 2024.09.04 |