개발자
안녕하세요 nexst.js 쓰고 있는 주니어 프런트엔드 개발자입니다 DB API에 접근하기 위해 next에서도 API를 구성했는데 쿠키에 저장되있는 토큰값을 가져오질 못하고 있네요 방법 알려주시면 감사하겠습니다 아래 파일은 src/pages/api 에 존재합니다 const getOrder = async (token, order_no) => { return await fetch(`${process.env.NEXT_PUBLIC_API_HOST}/front/order/${order_no}`, { headers: { Authorization: `Bearer ${token}`, Accept: "application/json" } }).then(res => res.json()).then(data => data) } export default async function handler(req, res) { const { order_no } = req.query const token = "쿠키에 어떻게 접근해야 하나요???" const order = await getOrder(token, order_no) try { res.status(200).json({ ...order }) } catch (err) { res.status(200).json({ err }) } }
답변 2
안녕하세요 next.js api 에서 쿠키 사용하는 방법이 있습니다. 아마 req안에 들어있을 것 같아요 req.cookies에 쿠키에 대한 정보들이 들어 있을 겁니다. NextApiRequest type을 좀 상세하게 살펴보면 해당 키값으로 가져올 수 있는 것 같습니다. const token = req.cookies['쿠키 key 이름'] 이렇게 사용할 것 같네요. NextApiRequest의 타입 정보도 추가로 첨부해 놓겠습니다.
1export interface NextApiRequest extends IncomingMessage {
2 /**
3 * Object of `query` values from url
4 */
5 query: Partial<{
6 [key: string]: string | string[];
7 }>;
8 /**
9 * Object of `cookies` from header
10 */
11 cookies: Partial<{
12 [key: string]: string;
13 }>;
14 body: any;
15 env: Env;
16 preview?: boolean;
17 /**
18 * Preview data set on the request, if any
19 * */
20 previewData?: PreviewData;
21}
익명
작성자
2023년 05월 31일
친절한 답변 감사합니다!! 지금 사정상 타입스크립트를 쓰지 않고 자바스크립트로 Next.js를 구현하고 있는데요 이게 타입문제 때문에 그런건지? request에 cookie가 없습니다 혹시 이것도 왜그런지 아실런지요?
엄홍재
커리어리 소프트웨어 엔지니어 • 2023년 05월 31일
req.cookies 로 조회하셨나요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!