Устаноўка і чытанне кук праз загалоўкі ў NextJS
Давайце разбярэмся як усталяваць кукі.
Прыклад
Адчынем файл blog/api/route.js
і выпішам у апрацоўшчыку GET запыту
зменную cookies. Яна будзе захоўваць
інфармацыю пра ўсе кукі, атрымліваючы іх
з запыту. Вывядзем інфармацыю пра іх у кансоль.
Затым выпішам кукі праз параметр
"Set-Cookie" у адказе, які
будзе адпраўлены на браўзэр:
export async function GET(request) {
let cookies = request.headers.get('cookie');
console.log('Cookies:', cookies);
// вяртаем адказ з устаноўленымі загалоўкамі:
return new Response('test blog', {
headers: {
'Content-Type': 'text-html',
'Set-Cookie': 'test=user-cookie'
}
});
}
Пры першым заходзе на адрас blog/api
кук не будзе, а вось пры паўторным звароце
ў тэрмінал выведзецца паведамленне:
Cookies: test=user-cookie;
Прыклад
Можна прачытаць не ўсе, а толькі адну пэўную
куку. Для гэтага аб'явіў зменную
test. У яе будзе запісаны вынік
паслядоўнага ўжывання да запыту метадаў
cookies і get:
export async function GET(request) {
let test = request.cookies.get('test');
console.log(test);
// вяртаем адказ з устаноўленымі загалоўкамі:
return new Response('test blog', {
headers: {
'Content-Type': 'text-html',
'Set-Cookie': 'test=user-cookie'
}
});
}
Пасля выканання запыту ў тэрмінал выведзецца аб'ект з іменем кукі і яе значэннем:
{ name: 'test', value: 'user-cookie' }
У любым з апрацоўшчыкаў GET запыту вашага праекта ўсталюйце кукі і прачытайце іх.