1. Request Properties
1-1. req.params
예를 들어 /user/:name 경로가 있으면 "name"속성을 req.params.name으로 사용할 수 있다.
https://params/user/12341234 일 경우 12341234를 받는다.
req.param은 더이상 사용하지 않음
1-2. req.query
이 속성은 경로의 각 쿼리 문자열 매개 변수에 대한 속성이 포함 된 개체다.
예를 들어 https://query/search?searchWord=구글검색 이면
searchWord 매개변수(parameter)의 구글검색 이라는 값(argument)을 가져온다.
1-3. req.body
JSON 등의 데이터를 담을때 사용한다. (주로 POST로 유저의 정보 또는 파일 업로드를 보냈을 때 )
요청 본문에 제출 된 키-값 데이터 쌍을 포함한다. 기본적으로 이는 정의되어 있지 않으며 express.json(), express.urlencoded()와 같은 미들웨어를 사용해야한다.
위의 말은 쉽게 설명하자면 req.body는 body-parser를 사용하기 전에는 default 값으로 Undefined 설정되기 때문에 body-parser를 사용하여 해결해야 오류를 뿜지 않는다.
// 예제코드 - app.js 부분
//미들웨어
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extends: true }))
↓
↓ // Express 4.16.0버전 부터 body-parser의 일부 기능이 익스프레스에 내장
↓ // 아래와 같이 사용 가능하다
app.use(express.json())
app.use(express.urlencoded({ extends: true}))
parser가 필요한 경우도 존재
- body-parser로 Raw, Text형식의 본문을 추가로 해석할 수 있음
form 에서는 name: value, email: value, password: value의 값을 body에 담아 POST request를 보냄
// 예제 join.pug 부분
form(action=routes.join, method="post")
input(type="text", name="name", required=true)
input(type="email", name="email", required=true)
input(type="password", name="password", required=true)
input(type="submit", value="Join")
form 에서 post method로 보낸 것을 req.body property(속성)으로 name, email, password를 받을 수 있다.
// 예제 코드 js
export const postJoin = (req, res) => {
const {
body: { name, email, password}
} = req
}
'FrontEnd > Frontend-related basic knowledge' 카테고리의 다른 글
자스에는 없는 타입스크립트만의 인터페이스 (0) | 2024.05.22 |
---|---|
API데이터 전송 확인 툴 postMan (0) | 2024.03.31 |
왜 프론트앤드 라이브러리/프레임워크를 쓰고 React는 무엇인가 (1) | 2024.01.28 |
브라우저 동작 원리에 대하여 (0) | 2024.01.20 |
자바스크립트 실행환경(브라우저와 Node.js)에 대하여 (0) | 2024.01.20 |