[Node.js] URL Parameter

Dorong·2023년 1월 10일
0

Node.js / MongoDB

목록 보기
9/23

✅ URL Parameter

  • 비슷한 페이지를 여러개 만들 때, 각각에 대한 페이지 요청을 하나하나 다 만드는건 비효율적
  • 그럴 때 활용할 수 있는 url parameter!!

🔸 기본 사용법

  • server.js에서 요청에 대한 응답 코드에서 경로 뒤에 콜론(:)과 임의의 작명한 이름을 넣어준다
  • 그리고 해당 값은 콜백함수 내에서 'request.params.작명한이름' 에 담겨있음
  • 주의점이 있는데, 숫자 데이터도 문자형으로 변환되어 담겨있는지 확인 해줘야하고, 필요시 변환을 해줘야함!!
  • 해당 값으로 조회한 결과가 담긴 result 변수를 ejs에 보내주면 ejs 파일에서 동일하게 사용가능

    // server.js에서
    app.get('/detail/:id', (request, response)=>{
       db.collection('collection이름').findOne( { 속성 : parseInt( request.params.작명한이름 ) },
       (error, result) => {
           response.render( '파일명.ejs', { data : result } )
       }
    }

    // ejs 파일에서 동일하게 사용 가능
    <%= data.속성 %>


🔸 정해진 데이터 이외 경로 접근시

  • 속성이 url 파라미터인 데이터를 조회해 데이터를 꺼내왔는데,
  • 해당 데이터가 조회되지 않으면 null 값이 담기게 됨!!
  • 그러니 데이터를 찾는 함수의 콜백함수에서 결과(result)의 null 여부를 체크해주고 상황에 따라 다른 응답을 주면 됨!!

    // ex)
    app.get('/detail/:id', (requset, response)=>{
       db.collection('post').findOne( { _id : parseInt(request.params.id) }, (error, result) => {
           if(result != null){
               response.render('detail.ejs', {data : result});
           }else{
               response.send('404')
           }
       })
    })

profile
🥳믓진 개발자가 되겠어요🥳

0개의 댓글