# Map Local (파일)

> Proxyman Map Local로 요청에 대한 응답을 로컬 파일로 돌려주세요. 직접 지정한 상태 코드, 헤더, 본문으로 API를 빠르게 모킹할 수 있습니다.

## 1. 무엇인가요? {#1-whats-it}

Map Local 도구를 사용하면 로컬 파일의 내용을 요청에 대한 HTTP 응답으로 사용할 수 있습니다.

> **노트:** Scripting 도구([Snippet Code](https://proxyman.com/docs/ko/scripting/snippet-code#map-local-with-graphql))로 **GraphQL**에도 Map Local을 적용할 수 있습니다.
>
> **Map Local**과 **Breakpoint** 기능을 함께 사용하면 응답 내용을 실시간으로 수정할 수 있습니다 (2.16.0+)

## 동영상 {#video}

[Video: Map Local로 API 응답 모킹하기](https://proxyman.com/videos/map-local) (25 seconds)

## 2. 장점 {#2-benefits}

* 상태 코드, 헤더, 본문으로 응답을 정의하고 원하는 요청에 매핑하세요. 서버가 업데이트되기를 기다리지 않고도 예외 상황을 테스트할 수 있습니다.
* **로컬 파일로 가짜 API 모킹(Mock)**: 아직 프로덕션에 없는 테스트 API를 미리 사용해 보세요. 

![GET https://httpbin.proxyman.app/get 요청에 대해 Local File 모드로 200 OK JSON 응답을 설정한 Proxyman Map Local 편집기](https://proxyman.com/docs/assets/proxyman-map-local-editor.jpg)

_Map Local 편집기_

### HTTP 메시지로 설정하기 {#with-an-http-message}

1. 메인 테이블에서 요청을 우클릭한 다음 **Tools** -> **Map Local…**을 선택하세요. Proxyman이 현재 응답으로 새 규칙을 만듭니다.
2. 상태 코드, 헤더, JSON 본문을 원하는 대로 변경하세요.
3. 완료.
4. 요청을 다시 보내세요. 새 응답이 매핑됩니다.

### 로컬 파일로 설정하기 {#with-a-local-file}

* **Select Local File** 버튼을 클릭하고 원하는 파일을 선택하세요. 텍스트, JSON, 바이너리, 이미지 파일을 지원합니다.

### \<FILE\_URL> 플래그로 설정하기 {#with-file_url-flag}

* 지정한 파일로 매핑하면서도 상태 코드와 응답 헤더를 설정할 수 있습니다.
* JSON, 텍스트, 바이너리, 이미지 등 다양한 형식에서 동작합니다.
* 클라이언트가 응답을 올바르게 읽을 수 있도록 `Content-Type` 헤더를 반드시 설정하세요.

```json
HTTP/1.1 200 OK
Content-Type: application/json

<FILE_URL="~/Desktop/myjson.json">
```

## 3. 사용 방법 {#3-how-to-use}

1. (이미 응답이 있는) 요청을 우클릭하고 **Tools** -> **Map Local…**을 선택하세요. Proxyman이 현재 응답 본문으로 규칙을 만듭니다. Proxyman은 파일을 자체 Map Local 폴더에 저장합니다. 이 폴더를 확인하거나 변경하려면 Map Local 창에서 **More** -> **Default Local File Folder**를 클릭하세요.
2. 편집기에서 응답 본문을 직접 수정하세요.
3. 요청을 보내고 새 응답 본문을 확인하세요.

![현재 응답으로 Map Local 규칙 만들기](https://proxyman.com/docs/assets/proxyman-map-local-context-menu.jpg)

_현재 응답으로 Map Local 규칙 만들기_

![Default Local File Folder가 열린 Proxyman Map Local More 메뉴: Choose Folder, Use Default Folder, Reveal in Finder](https://proxyman.com/docs/assets/proxyman-map-local-default-folder.jpg)

_Default Local File Folder_

## 4. GraphQL 요청에서 Map Local 사용하기 {#4-map-local-with-graphql-requests}

Proxyman 2.27.0 이상에서는 특정 QueryName을 기준으로 GraphQL 요청에 Map Local을 사용할 수 있습니다. 아래 GraphQL 문서를 참고하세요.

- [GraphQL 요청 디버깅](https://proxyman.com/docs/ko/advanced-features/graphql)

## 5. Scripting 도구로 Map Local 사용하기 ✅  {#5-map-local-with-scripting-tool--}

**복잡한 규칙**으로 Map Local을 적용하고 싶다면 [Scripting](https://proxyman.com/docs/ko/scripting/script#1-whats-it)을 확인해 보세요. 같은 결과를 더 쉽게 얻을 수 있습니다.

JavaScript 코드로 로컬 파일을 매핑하는 방법은 [Snippet Code](https://proxyman.com/docs/ko/scripting/snippet-code#2-common-on-request-and-response)를 참고하세요.

## 더 알아보기 {#learn-more}

* [Proxyman Map Local 도구로 HTTP 응답을 조작하는 방법](https://proxyman.com/posts/2019-08-03-map-local-feature)
* [GraphQL 요청에 로컬 응답을 매핑하는 방법](https://proxyman.com/posts/2021-01-24-How-To-Map_Response_For_GraphQL_Requests)
