Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ next-response #158

Merged
merged 3 commits into from
Jun 25, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions docs/02-app/02-api-reference/04-functions/next-response.mdx
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
title: NextResponse
description: NextResponse에 대한 API 참조입니다.
description: NextResponse에 대한 API 레퍼런스입니다.
---

NextResponse는 편리한 메서드를 추가하여 [Web Response API](https://developer.mozilla.org/en-US/docs/Web/API/Response)를 확장합니다.

## `cookies`

response의 [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) 헤더를 읽거나 변경할 수 있습니다.
리스폰스의 [`Set-Cookie`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) 헤더를 읽거나 변경할 수 있습니다.

### `set(이름, 값)`
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved

쿠키 **이름**이 주어지면 response에서 주어진 **값**으로 쿠키를 설정합니다.
쿠키 **이름**이 주어지면 리스폰스에서 주어진 **값**으로 쿠키를 설정합니다.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

영어 'response'를 '리스폰스'로 번역하였습니다.


```ts
// /home이라는 수신 request가 주어질 때
Expand All @@ -24,7 +24,7 @@ return response

### `get(이름)`

쿠키 **이름**이 주어질 때 쿠키 **이름**에 맞는 쿠키 값을 반환합니다. 쿠키를 찾을 수 없다면 `undefined`를 반환합니다. 여러 개의 쿠키를 찾았다면 그 중 첫 번째로 찾은 쿠키를 반환합니다.
쿠키 **이름**이 주어지면 쿠키 **이름**에 맞는 쿠키 값을 반환합니다. 쿠키를 찾을 수 없다면 `undefined`를 반환합니다. 여러 개의 쿠키를 찾았다면 그 중 첫 번째로 찾은 쿠키를 반환합니다.
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved

```ts
// /home이라는 수신 request가 주어질 때
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved
Expand All @@ -35,7 +35,7 @@ response.cookies.get('show-banner')

### `getAll()`

쿠키 이름이 주어질 때 쿠키 이름에 맞는 모든 쿠키 값을 반환합니다. 쿠키 이름이 주어지지 않으면 response에 포함된 모든 쿠키를 전부 반환합니다.
쿠키 이름이 주어지면 쿠키 이름에 맞는 모든 쿠키 값을 반환합니다. 쿠키 이름이 주어지지 않으면 리스폰스에 포함된 모든 쿠키를 전부 반환합니다.

```ts
// /home이라는 수신 request가 주어질 때
Expand All @@ -45,13 +45,13 @@ let response = NextResponse.next()
// { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
response.cookies.getAll('experiments')
// 다른 방법으로 request의 모든 쿠키 가져오기
// 다른 방법으로 리퀘스트의 모든 쿠키 가져오기
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved
response.cookies.getAll()
```

### `delete(이름)`

쿠키 **이름**이 주어질 때 response에서 쿠키를 지웁니다.
쿠키 **이름**이 주어지면 리스폰스에서 쿠키를 지웁니다.
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved

```ts
// /home이라는 수신 request가 주어질 때
Expand All @@ -62,7 +62,7 @@ response.cookies.delete('experiments')

## `json()`

주어진 JSON body로 response를 만듭니다.
주어진 JSON body로 리스폰스를 만듭니다.

```ts filename="app/api/route.ts" switcher
import { NextResponse } from 'next/server'
Expand All @@ -82,7 +82,7 @@ export async function GET(request) {

## `redirect()`

어떤 [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL)로 리디렉션하는 response를 생성합니다.
어떤 [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL)로 리디렉션하는 리스폰스를 생성합니다.
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved

```ts
import { NextResponse } from 'next/server'
Expand All @@ -105,13 +105,13 @@ return NextResponse.redirect(loginUrl)

## `rewrite()`

원래 URL을 표시(유지)하면서 주어진 [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL)을 재작성(프록시)하는 응답을 생성합니다.
원래 URL을 표시(유지)하면서 주어진 [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL)을 재작성(프록시)하는 리스폰스를 생성합니다.

```ts
import { NextResponse } from 'next/server'

// 수신 request: /about, browser shows /about
// 재작성한 request: /proxy, browser shows /about
// 수신 리퀘스트: /about, browser shows /about
// 재작성한 리스폰스: /proxy, browser shows /about
return NextResponse.rewrite(new URL('/proxy', request.url))
```

Expand All @@ -125,19 +125,19 @@ import { NextResponse } from 'next/server'
return NextResponse.next()
```

response를 생성할 때 `headers`를 전달할 수 있습니다.
리스폰스를 생성할 때 `headers`를 전달할 수 있습니다.

```ts
import { NextResponse } from 'next/server'

// 수신 request가 주어질 때...
// 수신 리퀘스트가 주어질 때...
const newHeaders = new Headers(request.headers)
// 새로운 헤더를 추가
newHeaders.set('x-version', '123')
// 새로운 헤더를 가진 response를 생성
// 새로운 헤더를 가진 리스폰스 생성
return NextResponse.next({
request: {
// New request headers
// 새로운 리퀘스트 해더
chaejunlee marked this conversation as resolved.
Show resolved Hide resolved
headers: newHeaders,
},
})
Expand Down