req.params는 경로 매개변수를 담고 있으며 URL의 일부로 전달되는 데이터이다. 경로에 ":" 를 사용하며 정의된다.
req.body 객체로 접근하며 JSON 형태의 데이터나 폼 데이터 등을 포함할 수 있다.
req.params 예시
const productService = require('../services/productService')
const { catchAsync } = require('../utils/error')
const getProductById = catchAsync(async (req, res) => {
const productId = +req.params.productId
const result = await productService.getProductById(productId)
res.status(200).json({ data : result })
})
const getAllProducts = catchAsync(async (req, res) => {
const {categoryId, size, orderBy} = req.query
const data = await productService.getAllProducts(categoryId, size, orderBy)
res.status(200).json({ data })
})
module.exports = { getProductById, getAllProducts }
예를 들어 /users/:userId와 같은 경로가 있다면 userId가 경로 매개변수이다.
req.params 객체는 경로 매개변수의 이름을 키로 가지며, 해당 매개변수의 값이 값으로 저장된다.
클라이언트가 /users/123과 같은 요청을 보내면 req.params.userId는 123으로 설정된다.
'+' 기호는 문자열을 숫자로 변환하는 역할을 한다. 이것은 주로 문자열을 숫자형으로 형변환할 때 사용한다.
클라이언트가 /users/123과 같은 URL을 요청한 경우, req.params.productId는 문자열 123이 된다.
이를 +기호와 함께 사용하여 숫자형으로 변환하면 productId 변수에는 숫자 123이 저장된다
req.body 예시
const userService = require("../services/user.service");
const { catchAsync } = require("../utils/error");
const signUp = catchAsync(async (req, res) => {
const { email, password } = req.body;
await userService.signUp(email, password);
res.status(201).json({ message: "user is created" });
});
const signIn = catchAsync(async (req, res) => {
const { email, password } = req.body;
const accessToken = await userService.signIn(email, password);
res.status(200).json({ accessToken });
});
module.exports = { signUp, signIn };
'Services > Etc' 카테고리의 다른 글
[MacBook] . 마침표 찍히는 문제 해결 (1) | 2024.11.28 |
---|---|
[Android Studio] 갤럭시 스마트폰 연결하기 (0) | 2024.11.14 |
[Figma] 피그마에 원하는 폰트 적용하기 (0) | 2024.10.30 |
[IntelliJ] 쿠폰 등록하기 (0) | 2024.07.22 |
[Spring Boot] STS 설치 및 코틀린+스프링부트 개발환경 셋팅 (0) | 2024.05.04 |