Params : 동적인 URL 경로 처리

app.get(`/products/:n`, function(req, res) {
  res.json({
    num: req.params.n
  })
})

클라이언트에서 /products 뒤에 입력한 값을 req.params로 받을 수 있음.

/products/:n 경로에 접속하면 :n자리에 오는 값이 req.params.n에 저장되어 해당 값을 JSON 형식으로 반환.

n에 200 전달 > req.params.n으로 받을 수 있음.


쿼리 문자열

  • 쿼리 문자열은 URL의 끝에 '?'를 사용하여 추가적인 데이터를 전달하는 데 사용
  • 쿼리 문자열은 'key=value' 쌍으로 이루어져 있음
  • '&'를 사용하여 여러 개의 쌍을 연결할 수 있음
  • Express에서는 req.query를 통해 이러한 쿼리 문자열을 읽어올 수 있다.
// https://www.youtube.com/watch?v=2KheQK5srCc&t=2339s
app.get(`/watch`, function(req, res) {
  const query = req.query
  res.json({
    video: query.v,
    timeline: query.t
  })
})

/watch?v=2KheQK5srCc&t==2339s 에 접속하면

watch경로 뒤에 오는 쿼리문자열을 req.query로 받을 수 있다.

현재 v=value / t=value 형태로 두 쌍이 존재하며, 이 두 쌍을 JSON 형태로 반환할 수 있다.

더 깊이 접근하고 싶다면, req.query.v / req.query.t > 객체 표기법으로 각 키의 값에도 직접 접근할 수 있다.


+ TIP! 자바스크립트 객체, 배열 비구조화 할당

코드를 간결하고 가독성 있게 사용할 수 있음.

객체

  • 객체 비구조화 할당에서는 변수의 이름과, 객체의 속성명이 반드시 같아야 한다.
  • 변수의 이름이 객체의 속성명과 일치하지 않으면 값이 할당되지 않는다.

배열

  • 배열은 속성명이 따로 존재하지 않기 때문에, 배열의 순서대로 할당된다.
  • 선언된 변수의 순서와, 배열의 요소 순서가 일치해야 한다.
  • 중간에 필요없는 값이 끼여있다면 , ,로 생략 처리를 해주어야 한다.

'졸업작품 > Node.js' 카테고리의 다른 글

[Node.js] 회원 API 기초 설계  (0) 2024.04.19
RESTful API 및 HTTP 프로토콜 기본 개념  (0) 2024.04.17

+ Recent posts