

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# HTTP용 AWS AppSync 해석기 매핑 템플릿 참조
<a name="resolver-mapping-template-reference-http"></a>

**참고**  
이제 우리는 주로 APPSYNC\_JS 런타임과 해당 문서를 지원합니다. [여기](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)에서 APPSYNC\_JS 런타임과 해당 안내서를 사용해 보세요.

 AWS AppSync HTTP 해석기 매핑 템플릿을 사용하면 AWS AppSync에서 모든 HTTP 엔드포인트로 요청을 보내고 HTTP 엔드포인트의 응답을 AWS AppSync로 다시 보낼 수 있습니다. 매핑 템플릿을 사용하면 호출할 작업의 특성에 대한 힌트를 AWS AppSync에 제공할 수 있습니다. 이 단원에서는 지원되는 HTTP 해석기에 대한 다양한 매핑 템플릿에 대해 설명합니다.

## 요청 매핑 템플릿
<a name="request-mapping-template"></a>

```
{
    "version": "2018-05-29",
    "method": "PUT|POST|GET|DELETE|PATCH",
    "params": {
        "query": Map,
        "headers": Map,
        "body": any
    },
    "resourcePath": string
}
```

HTTP 요청 매핑 템플릿을 해석한 후 요청 매핑 템플릿의 JSON 스키마 표현은 아래와 같습니다.

```
{
    "$id": "https://aws.amazon.com/appsync/request-mapping-template.json",
    "type": "object",
    "properties": {
        "version": {
        "$id": "/properties/version",
        "type": "string",
        "title": "The Version Schema ",
        "default": "",
        "examples": [
            "2018-05-29"
        ],
        "enum": [
            "2018-05-29"
        ]
        },
        "method": {
        "$id": "/properties/method",
        "type": "string",
        "title": "The Method Schema ",
        "default": "",
        "examples": [
            "PUT|POST|GET|DELETE|PATCH"
        ],
        "enum": [
            "PUT",
            "PATCH",
            "POST",
            "DELETE",
            "GET"
        ]
        },
        "params": {
        "$id": "/properties/params",
        "type": "object",
        "properties": {
            "query": {
            "$id": "/properties/params/properties/query",
            "type": "object"
            },
            "headers": {
            "$id": "/properties/params/properties/headers",
            "type": "object"
            },
            "body": {
            "$id": "/properties/params/properties/body",
            "type": "string",
            "title": "The Body Schema ",
            "default": "",
            "examples": [
                ""
            ]
            }
        }
        },
        "resourcePath": {
        "$id": "/properties/resourcePath",
        "type": "string",
        "title": "The Resourcepath Schema ",
        "default": "",
        "examples": [
            ""
        ]
        }
    },
    "required": [
        "version",
        "method",
        "resourcePath"
    ]
}
```

다음은 `text/plain` 본문을 포함한 HTTP POST 요청의 예입니다.

```
{
    "version": "2018-05-29",
    "method": "POST",
    "params": {
        "headers":{
        "Content-Type":"text/plain"
        },
        "body":"this is an example of text body"
    },
    "resourcePath": "/"
}
```

## 버전
<a name="version"></a>

**참고**  
이는 요청 매핑 템플릿에만 적용됩니다.

템플릿에 사용되는 버전을 정의합니다. `version`은 모든 요청 매핑 템플릿에 공통되며 필수입니다.

```
"version": "2018-05-29"
```

## 방법
<a name="method"></a>

**참고**  
이는 요청 매핑 템플릿에만 적용됩니다.

 AWS AppSync가 HTTP 엔드포인트로 전송하는 HTTP 메서드 또는 동사(GET, POST, PUT, PATCH 또는 DELETE).

```
"method": "PUT"
```

## ResourcePath
<a name="resourcepath"></a>

**참고**  
이는 요청 매핑 템플릿에만 적용됩니다.

액세스하고자 하는 리소스 경로입니다. 리소스 경로는 HTTP 데이터 소스의 엔드포인트와 함께 AWS AppSync 서비스가 요청하는 URL을 형성합니다.

```
"resourcePath": "/v1/users"
```

매핑 템플릿이 평가되면 이 경로는 HTTP 엔드포인트를 포함해 HTTP 요청의 일부로 전송됩니다. 예를 들어, 이전 예제는 다음과 같이 변환될 수 있습니다.

```
PUT <endpoint>/v1/users
```

## 파라미터 필드
<a name="params-field"></a>

**참고**  
이는 요청 매핑 템플릿에만 적용됩니다.

검색에서 수행할 작업을 지정하는 데 사용되며, 가장 일반적으로 **본문** 내에 **쿼리** 값을 설정하여 지정합니다. 그러나 응답 형식 지정 등과 같이 구성할 수 있는 기타 여러 가지 기능이 있습니다.

** **headers** **  
키-값 페어로 표시되는 헤더 정보. 키와 값은 둘 다 문자열이어야 합니다.  
예제:  

```
"headers" : {
    "Content-Type" : "application/json"
}
```
현재 지원되는 `Content-Type` 헤더는 다음과 같습니다.  

```
text/*
application/xml
application/json
application/soap+xml
application/x-amz-json-1.0
application/x-amz-json-1.1
application/vnd.api+json
application/x-ndjson
```
 **참고**: 다음 HTTP 헤더를 설정할 수 없습니다.  

```
HOST
CONNECTION
USER-AGENT
EXPECTATION
TRANSFER_ENCODING
CONTENT_LENGTH
```

** **query** **  
JSON 응답에 대한 코드 형식 지정 등과 같이 공통 옵션을 지정하는 키-값 페어. 키와 값은 둘 다 문자열이어야 합니다. 다음 예제는 쿼리 문자열을 `?type=json`으로 보낼 방법을 보여줍니다.  

```
"query" : {
    "type" : "json"
}
```

** **body** **  
본문에는 설정을 선택하는 HTTP 요청 본문이 포함됩니다. 콘텐츠 유형이 charset을 지정하지 않는 한 요청 본문은 항상 UTF-8 인코딩된 문자열입니다.  

```
"body":"body string"
```

## 응답
<a name="response"></a>

[여기](https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers.html)에서 예시를 확인하세요.