기타
[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을 가져온다.