카테고리 없음
사용자가 입력 한 데이터 open ai로 보내기2
순9
2025. 3. 6. 16:53
728x90
2번을 스토리지에 저장
POST를 사용 해서 저장은 되었는데
반환 하는거에 문제가 생겼다
1. 테이블에 저장을 한다
문제는 배열을 불러오게 되서 내가 원하는 형태와 맞지 않다
2. GET 반환 하는걸 사용 해봄 쿠키에는 저장이 되는걸 확인 할 수 있는데
값을 계속 가져오지 못함
3. cookieStore.get 사용
내가 원하는 정보를 가져 옴!!!!
작업 했던 순서
1 스토리지에 원하는 정보 저장 하기
sessionStorage.setItem('id', `${id}`);
2. 스토리지에서 정보 가져온 후 POST로 보내기
useEffect(() => {
// 로컬 스토리지에서 데이터 가져오기
const storedData = sessionStorage.getItem('id');
if (storedData) {
// 데이터가 있으면, 서버로 POST 요청
fetch('/api/storeData', {
method: 'POST',
headers: {
'Content-Type': 'application/json', // JSON 형식으로 전송
},
body: JSON.stringify({ dataid: storedData }), // 전송할 데이터
})
.then(response => response.json())
.then(data => {
console.log('서버 응답:', data); // 서버의 응답 처리
})
.catch(error => {
console.log('서버 요청 오류:', error); // 에러 처리
});
}
}, []);
3. 클라이언트에서 보낸 값 POST로 받은 후 쿠키로 보내기
import { NextRequest, NextResponse } from "next/server";
export async function POST(req: NextRequest) {
try {
const body = await req.json();
const { dataid } = body; // 클라이언트에서 보낸 id 값
const response = NextResponse.json(
{ message: "데이터가 성공적으로 저장되었습니다.", Id: dataid },
{ status: 200 }
);
response.cookies.set("Id", dataid, {
httpOnly: true,
path: "/",
secure: process.env.NODE_ENV === "production", // 배포 환경에서만 secure 적용
maxAge: 60 * 60 * 24, // 1일 유지
});
return response;
} catch (error) {
return NextResponse.json(
{ message: "서버 오류 발생", error: error.message },
{ status: 500 }
);
}
}
4. 서버 컴포넌트에서 쿠키에 저장 된 값 가져오기
const cookieStore =await cookies();
const dId = cookieStore.get("Id")?.value;
console.log(`${dId}`)
값 확인 가능!
서버 컴포넌트에서 GET보낸 값 확인 해보려 했음
// const res = await fetch('http://localhost:3000/api/storeData',{
// method:"GET",
// cache:'no-store',
// credentials: 'include',
// })
// if (!res.ok) {
// throw new Error("데이터를 불러오는 중 오류 발생");
// }
// const data = await res.json();
// console.log(`${data.Id}------------------------------------`);
// console.log(`${JSON.stringify(data)}------------------------------------`);