기타

[EXPRESS] req.params / req.query / req.body

yebeen 2023. 4. 27. 00:39

 

req.params

=  :id,  :naem와 같은 매개변수값들을 의미한다.

// url이 ~/videos/5/edit 인 경우 5가 id값이 된다.
// (\\d+)는 하나 혹은 그 이상 연결된 숫자만을 가져오라는 정규식이다.
videoRouter.get("/:id(\\d+)/edit",getEdit)

 

 

 

req.body

= POST로 바디데이터(JSON)등의 데이터를 받을 때 사용

= form의 value 값을 가지고싶다면 express의 urlencoded()를 사용해야하는데
   app.use(express.urlencoded({extended:true})) 을 서버와 관련된 js파일에  추가해야한다.
   -> form의 body를 이해

 

아래와 같은  form에서 데이터를 받아와 req.body를 확인해보면 { title: 입력한 제목명 , description : 입력한 내용 } 와 같다.

    form(method="POST")
        input(name = "title", placeholder="Write Video Title",type="text",required)
        input(name = "description",required,type="text",placeholder="Write Description")
        input(value="Save",type="submit")

 

주의해야할 점은 키-값 데이터 쌍으로 이루어져있기때문에 name(key)을 꼭 지정해줘야한다.

 

 


req.query 

= url에서 query값을 가져온다.

= ex. https://localhost/search?title=lemon 의 경우 title 매개변수의 값인 lemon을 가져온다.