가져오기 - 범위가 지정됨, 전역
Fetch API는 요청 및 응답 개체를 사용하여 리소스를 가져오는 메서드를 제공합니다.
Fetch API는 백그라운드 스크립트와 HTTP 호출을 할 수 있는 모든 위치(예: REST 엔드포인트)에서 사용할 수 있습니다. Fetch API를 사용하면 헤더, 본문 옵션 등을 설정하여 간단하고 복잡한 가져오기 요청을 모두 수행할 수 있습니다.
이 API는 외부 웹 사이트에서 자원을 가져오기 위한 다양한 작업을 제공하는 Fetch API 세트의 일부입니다. 전체 Fetch API 컬렉션에는 다음이 포함됩니다.
- 가져오기 - 가져오기(문자열 자원, 객체 옵션): 네트워크에서 리소스를 가져오는 프로세스를 시작합니다.
- 헤더 가져오기 - 범위 지정, 전역: 요청 및 응답 헤더를 검색하고 수정합니다.
- 요청 가져오기 - 범위가 지정됨, 전역: 새 요청 객체를 생성합니다.
- RequestInit 가져오기 - 범위가 지정됨, 전역: 가져오기 요청을 구성하는 옵션을 설정합니다.
- 응답 가져오기 - 범위가 지정됨, 전역: 새 응답 객체를 생성합니다.
가져오기 작업을 지원하기 위해 시스템 속성 glide.hosts.allowlist를 사용하면 가져오기 메서드가 액세스할 수 있는 호스트를 제어할 수 있습니다. RestMessageV2와 같은 HTTP API 및 위에서 언급한 API에 적용됩니다. glide.hosts.allowlist에 대한 자세한 내용은 문서를 참조하십시오Available system properties.
가져오기 - 가져오기(문자열 자원, 객체 옵션)
네트워크에서 자원을 가져오는 프로세스를 시작하고 응답이 사용 가능해지면 이행되는 약속을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 자원 | 문자열 또는 객체 | 필수 가져올 자원입니다. 허용되는 값:
|
| 옵션 | 객체 | 옵션입니다. RequestInit 가져오기 - 범위가 지정됨, 전역 요청에 적용할 사용자 지정 설정을 포함하는 객체입니다. 기본값: 커스터마이제이션 설정 없이 요청이 전달됩니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 응답 객체로 확인되는 약속입니다. fetch() 약속은 예를 들어 잘못된 형식의 요청 URL 또는 네트워크 오류로 인해 요청이 실패한 경우에만 거부됩니다. 주: 서버가 404 또는 504와 같은 오류를 나타내는 HTTP 상태 코드로 응답하는 경우 fetch() 약속은 거부된 것으로 간주되지 않습니다. 이 경우 then() 핸들러를 사용하여 ok 및 status 응답 가져오기 - 범위가 지정됨, 전역속성을 확인합니다. |
다음 예제에서는 및fetch()를 사용하여 요청 가져오기 - Request() 새 Request 객체를 형성하여 데이터를 검색하는 방법을 보여줍니다. 다음은 코드의 각 부분이 사용되는 방법에 대한 간단한 설명입니다.
- request(): URL, 메서드, 헤더를 사용하여 API 요청을 구성합니다.
- fetch(): 가져오기 요청을 합니다.
- response.json(): JSON 응답 본문을 JavaScript 객체로 구문 분석합니다. (자세한 내용은 을 참조하십시오 응답 가져오기 - json() .)
- console.log():콘솔 API를 사용하여 인시던트(data.result)를 출력합니다( 참조 콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2)).
async function fetchIncidents() {
const url = 'https://your-instance.service-now.com/api/now/table/incident';
const username = 'your_username';
const password = 'your_password';
// Create a Request object
const request = new Request(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authorization: 'Basic ' + btoa(`${username}:${password}`)
}
});
// Fetch data and use response.json() to process it
const response = await fetch(request);
const data = await response.json(); // Parse the response to JSON
console.log(data.result); // Log the incidents data to system logs
}
fetchIncidents();
출력:
[
{ "number": "INC0001", "short_description": "System outage" },
{ "number": "INC0002", "short_description": "Password reset request" }
]