회고, 면접준비/Next.js Doc 번역

Next.js Doc 번역 [Functions : NextRequest]

plla2 2023. 5. 11. 10:41

원본 링크: https://nextjs.org/docs/app/api-reference/functions/next-request

 

Functions: NextRequest | Next.js

Using App Router Features available in /app

nextjs.org

위 문서에 대한 번역을 진행합니다.
번역시점은 05-11으로 공식문서의 추가적인 업데이트가 있을 수 있습니다.
DeepL translator와 ChatGPT에 의존해서 번역하고 있습니다.
번역체를 자연스러운 어투로 옮기는 과정에서 오역이 발생할 수 있는 점 미리 알립니다.
이에 대한 피드백은 댓글로 알려주시면 감사하겠습니다.
한글로 번역하는 것이 더 어색한 경우 원문을 먼저 표기하겠습니다.

NextRequest

NextRequest는 추가적인 편의 메서드를 통해 Web Request API 를 확장합니다.


[cookies](<https://nextjs.org/docs/app/api-reference/functions/next-request#cookies>)

요청의 [Set-Cookie](<https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie>) 헤더를 읽거나 변경합니다.

 

[set(name, value)](<https://nextjs.org/docs/app/api-reference/functions/next-request#setname-value>)

이름이 지정되면 요청에 지정된 값으로 쿠키를 설정합니다.

// Given incoming request /home
// Set a cookie to hide the banner
// request will have a `Set-Cookie:show-banner=false;path=/home` header
request.cookies.set('show-banner', 'false');

 

[get(name)](<https://nextjs.org/docs/app/api-reference/functions/next-request#getname>)

쿠키 이름이 주어지면 쿠키의 값을 반환합니다. 쿠키를 찾을 수 없으면 undefined 가 반환됩니다. 여러개의 쿠키가 발견되면 첫번째 쿠키가 반환됩니다.

// Given incoming request /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner');

 

[getAll()](<https://nextjs.org/docs/app/api-reference/functions/next-request#getall>)

쿠키 이름이 주어지면 쿠키의 값을 반환합니다. 이름이 지정되지 않으면 요청에 대한 모든 쿠키를 반환합니다.

// Given incoming request /home
// [
//   { name: 'experiments', value: 'new-pricing-page', Path: '/home' },
//   { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
request.cookies.getAll('experiments');
// Alternatively, get all cookies for the request
request.cookies.getAll();

 

[delete(name)](<https://nextjs.org/docs/app/api-reference/functions/next-request#deletename>)

쿠키 이름이 주어지면 요청에서 해당 쿠키를 삭제합니다.

// Returns true for deleted, false is nothing is deleted
request.cookies.delete('experiments');

 

[has(name)](<https://nextjs.org/docs/app/api-reference/functions/next-request#hasname>)

쿠키 이름이 주어지고 요청에 쿠키가 존재하면 true를 반환합니다.

// Returns true if cookie exists, false if it does not
request.cookies.has('experiments');

 

[clear()](<https://nextjs.org/docs/app/api-reference/functions/next-request#clear>)

요청에서 Set-Cookie 헤더를 제거합니다.

request.cookies.clear();

[nextUrl](<https://nextjs.org/docs/app/api-reference/functions/next-request#nexturl>)

Next.js 특정 속성을 포함한 추가 편의 메서드로 네이티브 [URL](<https://developer.mozilla.org/en-US/docs/Web/API/URL>) API를 확장합니다.

// Given a request to /home, pathname is /home
request.nextUrl.pathname;
// Given a request to /home?name=lee, searchParams is { 'name': 'lee' }
request.nextUrl.searchParams;