---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 응답 가져오기 - 범위, 전역

# 응답 가져오기 - 범위, 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 19분

응답 가져오기 API는 새 응답 객체를 생성하고 요청 가져오기 API 메서드에서 생성된 응답 본문을 처리하는 메서드를 제공합니다.  
응답 가져오기 API는 외부 웹 사이트에서 자원을 가져오기 위한 다양한 작업을 제공하는 가져오기 API 집합의 일부입니다. 전체 Fetch API 컬렉션에는 다음이 포함됩니다.

* [페치 - 페치(문자열 자원, 객체 옵션)](https://servicenow-prod.fluidtopics.net/cC_Q8Kzj_58nuPp_71I0eQ#fetch.fetch_S_O "네트워크에서 자원을 가져오는 프로세스를 시작하고 응답을 사용할 수 있게 되면 이행되는 약속을 반환합니다."): 네트워크에서 자원을 가져오는 프로세스를 시작합니다.
* [헤더 가져오기 - 범위, 전역](https://servicenow-prod.fluidtopics.net/TQ_s4qDBI8LI7b~lg02JWw#Fetch.HeadersAPI "헤더 가져오기 API를 사용하면 요청 또는 응답 헤더 목록에서 헤더를 검색, 설정, 추가 및 제거할 수 있습니다."): 요청 및 응답 헤더를 검색하고 수정합니다.
* [가져오기 요청 - 범위, 전역](https://servicenow-prod.fluidtopics.net/tg4UwTEaFmBrnM6TU50UyA#Fetch.RequestAPI "요청 가져오기 API에는 애플리케이션이 서버에서 JSON, 텍스트 또는 이진 데이터와 같은 자원을 비동기적으로 요청하고 응답을 처리할 수 있도록 요청 객체를 만들거나 검색하는 메서드가 포함되어 있습니다. 이 API는 GET, POST, PUT, DELETE 등과 같은 다양한 HTTP 메서드를 지원합니다."): 새 요청 객체를 만듭니다.
* [RequestInit 가져오기 - 범위, 전역](https://servicenow-prod.fluidtopics.net/4xEgjtsDO31eT6OOzCH5jg#Fetch.RequestInitAPI "RequestInit API는 가져오기 요청을 구성하는 옵션을 제공합니다."): 가져오기 요청을 구성하는 옵션을 설정합니다.
* [응답 가져오기 - 범위, 전역](https://servicenow-prod.fluidtopics.net/ct1TFkBEIEoUYJHRNPkDTg#Fetch.ResponseAPI "응답 가져오기 API는 새 응답 객체를 생성하고 요청 가져오기 API 메서드에서 생성된 응답 본문을 처리하는 메서드를 제공합니다."): 새 응답 객체를 생성합니다.
{#Fetch.ResponseAPI__ul_akb_fsf_pdc}

가져오기 작업을 지원하기 위해 시스템 속성인 `glide.hosts.allowlist`를 사용하면 가져오기 메서드가 액세스할 수 있는 호스트를 제어할 수 있습니다. RestMessageV2 및 위에서 언급한 것과 같은 HTTP API에 적용됩니다. `glide.hosts.allowlist`에 대한 자세한 내용은 다음 문서를 참조하십시오[Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=australia&pubname=australia-platform-administration&ft:locale=en-US).

## 응답 속성 {#Fetch.ResponseAPI__section_ftr_brq_12c}

응답 API는 HTTP 응답에 대한 세부 정보를 반환하는 속성을 제공합니다. 이러한 속성을 사용하면 `메타데이터(상태`, `헤더`, `유형` 등) 및 응답 본문(`본문`)에 액세스하여 추가 처리를 수행할 수 있습니다. 이를 통해 요청의 성공 여부를 확인하고(`확인`) 반환된 데이터를 다양한 형식(예: JSON 또는 텍스트)으로 구문 분석할 수 있습니다. 이러한 속성은 클라이언트 측 애플리케이션에서 서버 응답의 유효성을 검사하고 처리하는 데 중요합니다. 각 속성에 대한 자세한 설명을 읽으려면 다음 문서를 참조하십시오 <https://developer.mozilla.org/en-US/docs/Web/API/Response>.
{#Fetch.ResponseAPI__table_t5x_2qw_jdc__entry__3}

| 속성 이름 | 설명 | 예제 |
|-|-|-|
| 본문 | 준비 전용입니다. 응답 본문 내용에 읽을 수 있는 바이트 데이터 스트림을 포함합니다. 유효한 값: ReadableStream 또는 null. 데이터 유형: 문자열 | const request = new Request("/myEndpoint", { method: "POST", body: "Hello world", }); request.body; // ReadableStream |
| body사용됨 | 준비 전용입니다. 본문을 읽었는지 여부를 나타내는 플래그입니다. 허용되는 값: * true: 본문을 읽었습니다. * 아니오: 본문을 읽지 않았습니다. 데이터 유형: 부울 | const request = new Request("/myEndpoint", { method: "POST", body: "Hello world", }); request.bodyUsed; // false request.text().then((bodyAsText) => { console.log(request.bodyUsed); // true }); |
| 헤더 | 읽기 전용입니다. 응답과 연결된 헤더 객체입니다. 데이터 유형: 헤더 객체 | const myRequest = new Request("flowers.jpg"); const myHeaders = myRequest.headers; // Headers {} |
| ok | 준비 전용입니다. 응답의 성공 여부(상태 범위 200-299)를 나타내는 플래그입니다. 허용되는 값: * true: 응답이 성공했습니다. * false: 응답이 성공하지 못했습니다. 데이터 유형: 부울 | const myImage = document.querySelector("img"); const myRequest = new Request("flowers.jpg"); fetch(myRequest).then((response) => { console.log(response.ok); // returns true if the response returned successfully response.blob().then((myBlob) => { const objectURL = URL.createObjectURL(myBlob); myImage.src = objectURL; }); }); |
| 리디렉션됨 | 읽기 전용입니다. 응답이 요청이 리디렉션된 결과인지 여부를 나타내는 플래그입니다. 허용되는 값: * true: 요청이 리디렉션되었습니다. * 아니오: 요청이 리디렉션되지 않았습니다. {#Fetch.ResponseAPI__ul_sd1_f4x_jdc} 데이터 유형: 부울 | const myRequest = new Request("flowers.jpg"); const myCred = myRequest.redirect; |
| 상태 | 읽기 전용입니다. 응답의 HTTP 상태 코드입니다. 예를 들어 성공의 경우 200입니다. 데이터 유형: 숫자 | const myImage = document.querySelector("img"); const myRequest = new Request("flowers.jpg"); fetch(myRequest) .then((response) => { console.log("response.status =", response.status); // response.status = 200 return response.blob(); }) .then((myBlob) => { const objectURL = URL.createObjectURL(myBlob); myImage.src = objectURL; }); |
| statusText | 읽기 전용입니다. response.status의 HTTP 상태 코드에 해당하는 상태 메시지입니다. 예를 들어 상태 코드가 `200`인 경우 `괜찮`고, `100`의 경우 `계속`하고, `404`의 경우 `찾을 수 없음`입니다. 데이터 유형: 문자열 | const myRequest = new Request("flowers.jpg"); // Log the HTTP status and status text console.log(`Status: ${response.status}`); console.log(`Status Text: ${response.statusText}`); // Check if the response is successful if (response.ok) { console.log("Request succeeded!"); } else { console.log("Request failed."); } } catch (error) { console.error("Error fetching the URL:", error); } } |
| 유형 | 읽기 전용입니다. 응답 유형입니다. 허용되는 값: * basic: "Set-Cookie"를 제외한 모든 헤더가 노출되는 정상, 동일한 원본 응답입니다. * cors: 유효한 교차 원본 요청에서 응답을 받았습니다. 특정 헤더와 본문에 액세스할 수 있습니다. * 오류: 네트워크 오류입니다. 오류를 설명하는 유용한 정보가 없습니다. 응답의 상태는 0이고 헤더는 비어 있고 변경할 수 없습니다. 이것은 `Response.error()`에서 가져온 응답의 유형입니다. * 불투명: 교차 원본 자원에 대한 "no-cors" 요청에 대한 응답입니다. 엄격하게 제한됩니다. * opaqueredirect: `리디렉션 "manual"`을 사용하여 가져오기 요청이 이루어졌습니다. 응답의 상태는 0이고, 헤더는 비어 있고, 본문은 null이고, 트레일러는 비어 있습니다. {#Fetch.ResponseAPI__ul_lqz_y4r_c2c} 데이터 유형: 문자열 | const myImage = document.querySelector("img"); const myRequest = new Request("flowers.jpg"); fetch(myRequest) .then((response) => { console.log("response.type =", response.type); // response.type = 'basic' return response.blob(); }) .then((myBlob) => { const objectURL = URL.createObjectURL(myBlob); myImage.src = objectURL; }); |
| URL | 읽기 전용입니다. 응답의 URL입니다. 데이터 유형: 문자열 | const myRequest = new Request("flowers.jpg"); const myURL = myRequest.url; // "https://github.com/mdn/dom-examples/tree/main/fetch/fetch-request/flowers.jpg" |
[표 1. 응답 속성]

{#Fetch.ResponseAPI__table_t5x_2qw_jdc}

## 응답 가져오기 - 응답(객체 본문, 객체 옵션) {#ariaid-title2}

Response() 생성자를 사용하여 새 Response 객체를 만듭니다.
{#fetch.response-constructor__table_bt1_vly_12c__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 본문 | 객체 | 옵션입니다. 응답의 본문을 정의하는 객체입니다. 유효한 유형: * 배열 버퍼 * Blob * 데이터 뷰 * 양식 데이터 * 읽기 가능한 스트림 * 문자열 * 문자열 리터럴 * TypedArray * URLSearchParams {#fetch.response-constructor__ul_vxx_gmy_12c} 기본값: null |
| 옵션 | 객체 | 옵션입니다. 응답에 적용할 사용자 지정 설정이 포함된 옵션 객체 또는 빈 객체(기본값)입니다. 가능한 옵션은 다음과 같습니다. * 헤더: 문자열 키/값 쌍의 개체 또는 개체 리터럴 내에 [헤더 가져오기 - 범위, 전역](https://servicenow-prod.fluidtopics.net/TQ_s4qDBI8LI7b~lg02JWw#Fetch.HeadersAPI "헤더 가져오기 API를 사용하면 요청 또는 응답 헤더 목록에서 헤더를 검색, 설정, 추가 및 제거할 수 있습니다.") 포함된 응답에 추가하려는 모든 헤더입니다(참조는 [HTTP 헤더](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) 참조). 기본적으로 비어 있습니다. * status: 응답의 상태 코드입니다. 기본값은 `200`입니다. * statusText: `"확인"`과 같이 상태 코드와 연결된 상태 메시지입니다. 기본값은 `""`입니다. {#fetch.response-constructor__ul_nz3_qmy_12c} |
[표 2. 매개변수]

{#fetch.response-constructor__table_bt1_vly_12c}  
이 예제에서는 생성자를 사용하여 새 Blob을 본문으로 전달하고 사용자 지정 status 및 statusText 옵션이 포함된 init 개체를 사용하여 새 Response 개체를 만듭니다.

    const myBlob = new Blob();
    const myOptions = { status: 200, statusText: "Status message!" };
    const myResponse = new Response(myBlob, myOptions);

## 응답 가져오기 - arrayBuffer() {#ariaid-title3}

ArrayBuffer로 확인되는 promise를 반환합니다.
arrayBuffer() 메서드는 이미지, 오디오 파일 또는 처리해야 하는 기타 바이너리 파일과 같은 바이너리 데이터로 작업할 때 유용합니다.
{#fetch.response-arrayBuffer__table_ohy_l2s_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 3. 매개변수]

{#fetch.response-arrayBuffer__table_ohy_l2s_kdc} {#fetch.response-arrayBuffer__table_phy_l2s_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | 일반 원시 이진 데이터 버퍼를 나타내는 [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)로 확인하는 약속입니다. |
[표 4. 반환]

{#fetch.response-arrayBuffer__table_phy_l2s_kdc} {#fetch.response-arrayBuffer__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException - AbortError | 요청이 중단되었다는 예외입니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-arrayBuffer__ul_qpv_ggs_kdc} |
| 범위 오류 | 연결된 `ArrayBuffer`를 만드는 동안 문제가 발생했습니다. 데이터 크기가 너무 큰 경우를 예로 들 수 있습니다. |
[표 5. 예외]

{#fetch.response-arrayBuffer__table_szf_1gs_kdc}  
다음 예제 스크립트는 서버에서 이진 데이터를 가져와 다음 단계를 사용하여 arrayBuffer() 메서드를 활용하는 동안 처리합니다.

1. fetch(): 지정된 URL에서 자원을 가져옵니다.
2. response.ok: 응답 상태가 200-299 범위에 있는지 확인합니다.
3. arrayBuffer(): 응답 본문을 읽고 일반 고정 길이 원시 이진 데이터 버퍼를 나타내는 ArrayBuffer로 변환합니다.
4. Uint8Array: ArrayBuffer를 이진 데이터를 쉽게 조작할 수 있는 형식화된 배열인 Uint8Array로 변환합니다.

    javascriptCopy code// Simple API to fetch binary data and process it using arrayBuffer()asyncfunctionfetchBinaryData(url) {
      try {
        // Fetch the resource from the provided URLconst response = awaitfetch(url);

        // Check if the response is successfulif (!response.ok) {
          thrownewError(`HTTP error! Status: ${response.status}`);
        }

        // Convert the response body to an ArrayBufferconst arrayBuffer = await response.arrayBuffer();

        // Process the ArrayBuffer (e.g., convert it to a typed array)const uint8Array = newUint8Array(arrayBuffer);

        // Return the processed datareturn uint8Array;
      } catch (error) {
        console.error("Error fetching or processing binary data:", error);
        throw error;
      }
    }

    // Example usageconst binaryDataUrl = 'https://example.com/path/to/binary/data';

    fetchBinaryData(binaryDataUrl)
      .then((data) => {
        console.log("Binary data as Uint8Array:", data);
        // Further processing can be done here, e.g., rendering an image or playing audio
      })
      .catch((error) => {
        console.error("Failed to fetch binary data:", error);
      });

## 응답 가져오기 - blob() {#ariaid-title4}

Blob으로 해결되는 약속을 반환합니다.
{#fetch.response-blob__table_ygl_5gs_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 6. 매개변수]

{#fetch.response-blob__table_ygl_5gs_kdc} {#fetch.response-blob__table_zgl_5gs_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob)으로 해결되는 약속입니다. |
[표 7. 반환]

{#fetch.response-blob__table_zgl_5gs_kdc} {#fetch.response-blob__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException - AbortError | 요청이 중단되었다는 예외입니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-blob__ul_qpv_ggs_kdc} |
[표 8. 예외]

{#fetch.response-blob__table_szf_1gs_kdc}  
다음 예제에서는 다음 단계를 사용하여 Fetch API와 함께 blob() 메서드를 사용하는 방법을 보여 줍니다. 이 사용 사례는 이미지 또는 기타 이진 콘텐츠(예: 비디오 또는 PDF)를 가져와 동적으로 표시하는 데 적합합니다.

1. fetch(url): 지정된 URL에서 자원을 가져옵니다.
2. response.blob(): 응답 본문을 이진 데이터를 나타내는 Blob 객체로 변환합니다.
3. URL.createObjectURL(blob): DOM에서 사용할 수 있는 임시 URL을 생성합니다(예: 이미지 소스).
4. DOM에 이미지 추가: 이미지 요소를 동적으로 만들고, Blob URL을 원본으로 설정하고, 문서 본문에 추가합니다.
{#fetch.response-blob__ol_k5n_zpy_12c}


    async function fetchBlob(url) {
      try {
        // Fetch the resource from the provided URL
        const response = await fetch(url);

        // Check if the response is successful
        if (!response.ok) {
          throw new Error(`HTTP error! Status: ${response.status}`);
        }

        // Convert the response body to a Blob
        const blob = await response.blob();

        // Create a URL for the Blob and log it
        const blobUrl = URL.createObjectURL(blob);
        console.log("Blob URL:", blobUrl);

        // For example, you can set it as the source of an image
        const img = document.createElement('img');
        img.src = blobUrl;
        img.alt = "Fetched Blob Image";
        document.body.appendChild(img);
      } catch (error) {
        console.error("Error fetching or processing blob:", error);
      }
    }

    // Example usage with an image URL
    const imageUrl = 'https://via.placeholder.com/150';
    fetchBlob(imageUrl);

## 응답 가져오기 - bytes() {#ariaid-title5}

Uint8Array로 해결되는 promise를 반환합니다.
{#fetch.response-bytes__table_hrj_nhs_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 9. 매개변수]

{#fetch.response-bytes__table_hrj_nhs_kdc} {#fetch.response-bytes__table_irj_nhs_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | Uint8Array로 해결되는 약속입니다. |
[표 10. 반환]

{#fetch.response-bytes__table_irj_nhs_kdc} {#fetch.response-bytes__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException- AbortError | 요청이 중단되었습니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-bytes__ul_qpv_ggs_kdc} |
| 범위 오류 | 연결된 `ArrayBuffer`를 만드는 동안 문제가 발생했습니다. 데이터 크기가 너무 큰 경우를 예로 들 수 있습니다. |
[표 11. 예외]

{#fetch.response-bytes__table_szf_1gs_kdc}  
다음 예제에서는 텍스트 파일을 가져오고 본문을 Uint8Array로 반환한 다음 문자열로 디코딩하는 방법을 보여 줍니다.

    const response = await fetch("https://www.example.com/textfile.txt");
    const textFile = await response.bytes();
    const string = new TextDecoder().decode(textFile);
    console.log(string);

## 응답 가져오기 - formData() {#ariaid-title6}

FormData 객체로 해결되는 약속을 반환합니다.
{#fetch.response-formData__table_n2q_ldt_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 12. 매개변수]

{#fetch.response-formData__table_n2q_ldt_kdc} {#fetch.response-formData__table_o2q_ldt_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) 객체로 해결되는 promise입니다. |
[표 13. 반환]

{#fetch.response-formData__table_o2q_ldt_kdc} {#fetch.response-formData__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException- AbortError | 요청이 중단되었습니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-formData__ul_qpv_ggs_kdc} |
[표 14. 예외]

{#fetch.response-formData__table_szf_1gs_kdc}  
다음 예제에서는 formData() 를 사용하여 다음 단계를 통해 양식 제출 응답을 처리하는 방법을 보여줍니다.

1. 요청 본문: `JSON.stringify()` 를 사용하여 URL 인코딩 매개변수 대신 JSON 형태로 양식 데이터를 전송했습니다.
2. Content-Type: 요청 본문 형식을 나타내려면 `application/json` 으로 설정합니다.
{#fetch.response-formData__ol_qvl_qry_12c}

    // Example of using Response.formData()
    async function fetchFormData(url) {
      try {
        // Make a POST request to fetch the form data
        const response = await fetch(url, {
          method: 'POST',
          body: JSON.stringify({
            name: 'John Doe',
            email: 'john.doe@example.com',
          }),
          headers: {
            'Content-Type': 'application/json',
          },
        });

        // Check if the response is successful
        if (!response.ok) {
          throw new Error(`HTTP error! Status: ${response.status}`);
        }

        // Parse the response as FormData
        const formData = await response.formData();

        // Iterate through the FormData entries
        for (const [key, value] of formData.entries()) {
          console.log(`${key}: ${value}`);
        }
      } catch (error) {
        console.error("Error fetching or processing form data:", error);
      }
    }

    // Example usage
    const formEndpoint = 'https://httpbin.org/post'; // Replace with your form endpoint
    fetchFormData(formEndpoint);

출력:

    name: John Doe
    email: john.doe@example.com

## 응답 가져오기 - json() {#ariaid-title7}

본문 텍스트를 JSON으로 구문 분석한 결과로 확인되는 약속을 반환합니다.
주:  
이 메서드의 이름에도 불구하고 json()의 결과는 JSON이 아니라 JSON 을 입력으로 사용하고 이를 구문 분석하여 JavaScript 객체를 생성한 결과입니다.
{#fetch.response-json__table_agq_tdt_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 15. 매개변수]

{#fetch.response-json__table_agq_tdt_kdc} {#fetch.response-json__table_bgq_tdt_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | JavaScript 객체로 확인되는 promise입니다. 이 객체는 객체, 배열, 문자열, 숫자 등과 같이 JSON으로 나타낼 수 있는 모든 것이 될 수 있습니다. |
[표 16. 반환]

{#fetch.response-json__table_bgq_tdt_kdc} {#fetch.response-json__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException- AbortError | 요청이 중단되었습니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-json__ul_qpv_ggs_kdc} |
| 구문 오류 | 응답 본문을 JSON으로 구문 분석할 수 없습니다. |
[표 17. 예외]

{#fetch.response-json__table_szf_1gs_kdc}  
다음 예제는 json() 을 사용하여 응답을 구성하는 방법을 보여줍니다.

1. fetch()는 URL에 대한 GET 요청을 합니다.
2. 요청이 response.ok 성공했는지 확인합니다(상태 코드 200--299).
3. 성공하면 response.json()가 호출되어 응답에서 JSON 데이터를 구문 분석합니다.
4. 구문 분석된 데이터는 콘솔 API를 사용하여 시스템 로그에 기록됩니다. 요청 또는 구문 분석 중에 오류가 발생하면 해당 오류가 포착되고 로깅됩니다.
{#fetch.response-json__ol_wjm_dqr_c2c}

    fetch('https://jsonplaceholder.typicode.com/posts/1')
      .then(response => {
        if (!response.ok) {
          throw new Error('Network response was not ok');
        }
        return response.json();
      })
      .then(data => console.log(data))
      .catch(error => console.error('Fetch error:', error));

## 응답 가져오기 - text() {#ariaid-title8}

응답 본문을 읽고 일반 문자열로 반환합니다. 응답은 항상 UTF-8을 사용하여 디코딩됩니다.
text() 메서드는 HTML, JSON(수동으로 처리하려는 경우), XML 또는 일반 문자열로 처리해야 하는 일반 텍스트 파일과 같은 텍스트 데이터가 포함된 응답에 유용합니다.
{#fetch.response-text__table_hjn_l2t_kdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 18. 매개변수]

{#fetch.response-text__table_hjn_l2t_kdc} {#fetch.response-text__table_ijn_l2t_kdc__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 | UTF-8로 인코딩된 문자열로 확인되는 promise입니다. |
[표 19. 반환]

{#fetch.response-text__table_ijn_l2t_kdc} {#fetch.response-text__table_szf_1gs_kdc__entry__2}

| 예외 | 설명 |
|-|-|
| DOMException- AbortError | 요청이 중단되었습니다. |
| 유형 오류 | 다음 이유 중 하나로 인해 발생합니다. * 응답 본문이 방해받거나 잠겨 있습니다. * 본문 콘텐츠를 디코딩하는 동안 오류가 발생했습니다(예: Content-Encoding 헤더가 잘못되었기 때문). {#fetch.response-text__ul_qpv_ggs_kdc} |
[표 20. 예외]

{#fetch.response-text__table_szf_1gs_kdc}  
다음 예제는 서버가 Hello, world와 같은 `일반 텍스트를 반환할 때 `text()`를 사용하는 간단한 방법을 보여줍니다. 샘플 응답`입니다.

    const response = awaitfetch('https://example.com/text-endpoint');
    const text = await response.text();
    console.log(text); // Outputs: Hello, world! This is a sample response.

출력:

    Hello, world! This is a sample response.


