노드 빌더를 위한 HTTP 요청 헬퍼#
n8n은 HTTP 요청을 위한 유연한 헬퍼를 제공하여 대부분의 복잡성을 추상화합니다.
프로그래밍 스타일 전용
이 문서의 정보는 프로그래밍 스타일을 사용하는 노드 구축에 대한 것입니다. 선언형 스타일 노드에는 적용되지 않습니다.
사용법#
execute
함수 내에서 헬퍼를 호출합니다.
1 2 3 4 5 6 7 8 9 |
|
options
는 객체입니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
url
은 필수입니다. 다른 필드는 선택 사항입니다. 기본 메소드는 GET
입니다.
가능한 필드에 대한 몇 가지 주의 사항:
body
: JSON 페이로드에 대해 일반 JavaScript 객체를 사용할 수 있으며, 파일 업로드에 대해 버퍼를,multipart/form-data
에 대해 FormData 인스턴스를, 그리고application/x-www-form-urlencoded
에 대해URLSearchParams
를 사용할 수 있습니다.headers
: 키-값 쌍입니다.body
가 FormData 인스턴스인 경우 n8n은content-type: multipart/form-data
를 자동으로 추가합니다.body
가URLSearchParams
인스턴스인 경우 n8n은content-type: application/x-www-form-urlencoded
를 추가합니다.- 이 동작을 오버라이드하려면
content-type
헤더를 설정하세요.
arrayFormat
: 쿼리 문자열에 데이터 배열이 포함된 경우, 예를 들어const qs = {IDs: [15,17]}
,arrayFormat
의 값은 n8n이 이를 형식화하는 방식을 정의합니다.indices
(기본값):{ a: ['b', 'c'] }
는a[0]=b&a[1]=c
로brackets
:{ a: ['b', 'c'] }
는a[]=b&a[]=c
로repeat
:{ a: ['b', 'c'] }
는a=b&a=c
로comma
:{ a: ['b', 'c'] }
는a=b,c
로
auth
: 기본 인증에 사용됩니다.username
과password
를 제공합니다. n8n은 이를 생략하고helpers.httpRequestWithAuthentication(...)
를 사용하는 것을 권장합니다.disableFollowRedirect
: 기본적으로 n8n은 리다이렉트를 따라갑니다. 이를 방지하려면 true로 설정할 수 있습니다.skipSslCertificateValidation
: 적절한 인증서 없이 HTTPS 서비스를 호출하는 데 사용됩니다.returnFullResponse
: 본문만 반환하는 대신, 다음과 같은 형식으로 더 많은 데이터를 포함한 객체를 반환합니다:{body: body, headers: object, statusCode: 200, statusMessage: 'OK'}
encoding
: n8n은 콘텐츠 유형을 감지할 수 있지만, 상호작용할 수 있는 Buffer를 수신하기 위해arrayBuffer
를 지정할 수 있습니다.
예제#
예제는 Mattermost 노드를 참조하세요.
이전 헬퍼의 사용 중단#
this.helpers.request(options)
를 사용한 이전 헬퍼 구현은 request-promise
라이브러리를 사용하고 노출했습니다. 이는 버전 1에서 제거되었습니다.
호환성 문제를 최소화하기 위해 n8n은 Axios
라는 다른 라이브러리로의 투명한 전환을 수행했습니다.
문제가 발생하는 경우 커뮤니티 포럼 또는 GitHub에 신고해 주세요.
새로운 헬퍼로의 마이그레이션 가이드#
새로운 헬퍼는 훨씬 더 강력하고, 라이브러리 중립적이며 사용하기가 쉽습니다.
새로운 노드는 모두 새로운 헬퍼를 사용해야 합니다. 기존의 커스텀 노드를 새로운 헬퍼로 마이그레이션하는 것을 강력히 고려해야 합니다. 마이그레이션 시 주요 고려 사항은 다음과 같습니다.
url
을 수락합니다.uri
는 수락하지 않습니다.encoding: null
은 이제encoding: arrayBuffer
이어야 합니다.rejectUnauthorized: false
는 이제skipSslCertificateValidation: true
입니다.- 페이로드를 명확히 하기 위해
content-type
헤더에 따라body
를 사용합니다. resolveWithFullResponse
는 이제returnFullResponse
이며 비슷한 동작을 합니다.