HTTP 커넥터 출력을 구성하는 방법을 알아보세요.
개요
Tulip의 커넥터 함수 편집기를 사용하면 커넥터 함수가 반환하는 데이터를 애플리케이션 내에서 유용하고 활용하기 쉬운 형태로 구성할 수 있습니다. 이 문서에서는 다음 내용을 소개하며 커넥터 함수 Output의 형식 지정 기본 사항을 다룹니다:
- 커넥터 출력의 개념
- 출력 형식 지정에 사용할 수 있는 도구
- 다양한 일반적인 출력 형식
출력이란 무엇인가요?
출력은 커넥터 함수의 반환 결과를 정의하고 구조화하는 데 사용됩니다. 출력을 통해 더 큰 HTTP 반환 본문에서 애플리케이션에 중요한 정보를 추출할 수 있습니다.

출력 구조 지정 방법
커넥터 함수 편집기의 왼쪽 하단에서 ‘출력’ 섹션을 찾으세요.

출력값 추가를 시작하려면 ‘함수 출력값 추가’를 클릭하세요.
출력 항목의 이름을 식별하기 쉬운 레이블로 지정하는 것이 좋습니다. 이러한 이름은 앱에서 '변수'로 표시되므로, 서로 구별할 수 있도록 하는 것이 중요합니다.

HTTP 요청의 결과를 이해하려면 먼저 ‘테스트 결과’에서 반환되는 객체의 구조를 파악하는 것이 중요합니다. 아래 다이어그램은 결과가 ‘객체’와 ‘배열’ 섹션으로 어떻게 구분되는지 보여줍니다.

If you haven’t worked with JSON before, you may be unfamiliar with two critical datatypes, objects and arrays. Arrays are lists of values of the same type. For example, [1,2,3,5], or [oak, elm, alder, hickory]. Values in arrays are contained within square brackets, [ ]. Objects are a datatype for holding key:value pairs. The key:value pairs within an object can be of multiple different types, including arrays and nested objects. Objects are contained with curly brackets, { }.
객체와 배열에 대한 자세한 내용은 ‘커넥터 함수 출력에서 배열 및 객체 이해’를 참조하세요.
점 표기법
HTTP 커넥터의 경우, 출력에는 이라는 형식이 사용됩니다. 점 표기법을 사용하면 객체 내의 값에 접근할 수 있습니다. 도트 표기법은 방대한 JSON 응답 본문에서 필요한 정보만 추출하는 데 유용하며, HTTP 커넥터 함수의 형식을 더 유연하게 구성할 수 있게 해줍니다. 간단히 말해, 서로 중첩된 값을 기반으로 하는 구조화된 형식입니다.
예제를 통해 커넥터 출력에서 도트 표기법이 어떻게 사용되는지 자세히 살펴보겠습니다.
“employees”라고 하는 다음 예제 객체에는 각 직원에 대한 세부 정보가 담긴 객체 배열이 포함되어 있습니다. 각 직원의 직함만 가져오고 싶다면 employees.title 구문을 사용합니다. 여기서 점(.)을 사용하여 관심 있는 키와 연관된 값에 접근합니다. 만약 첫 번째 결과만 가져오고 싶다면 어떻게 할까요? 이 경우 메인 객체 이름인 “employees”와 관심 있는 값인 “title” 사이에 인덱스 위치를 추가하여 지정하면 됩니다. 구문은 다음과 같습니다: employees.0.title. 더 복잡한 객체의 경우, 원하는 정보를 추출하기 위해 객체 내부로 더 깊이 들어가야 할 수도 있습니다.

다른 예제를 통해 한 단계 더 깊이 살펴보겠습니다. 이번에는 지식베이스(Knowledge Base)의 기사와 관련된 정보를 가져오는 커넥터 함수를 만들고자 한다고 가정해 봅시다. 이 커넥터는 특정 기사에 대한 데이터를 포함하는 “data”라는 이름의 다음 JSON 객체를 반환합니다:

만약 ID, 제목, 버전, 그리고 기사가 숨겨져 있는지 여부만 추출하고 싶다면, outputs를 사용하여 이를 명시해야 합니다. 편집기의 outputs 섹션에서 점 표기법이 어떻게 사용되는지 살펴보겠습니다:

“id”나 “title”과 같은 결과를 가져오려면, 해당 결과가 JSON 내에서 어디에 위치하는지 지정해야 합니다. 출력의 본문은 “data”이며, 이는 테스트 결과 섹션의 첫 번째 드롭다운 메뉴에 해당합니다. “data” 드롭다운 내의 각 결과는 해당 객체 내에 중첩되어 있습니다. ‘출력’ 섹션에서 점(.)은 “data” 객체 안으로 한 단계 더 깊이 들어가야 함을 의미합니다.
It doesn’t matter whether the dot is placed in the body, or in front of individual properties, so long as there is a dot separating each layer of the JSON.

'테스트 결과 ' 섹션에서 '출력' 탭을 클릭하면, 나머지 데이터는 필터링되어 관심 있는 정보만 표시됩니다.
출력 결과를 한 줄로 작성하는 방법도 있습니다. 이렇게 하면 하나의 쿼리로 전체 경로를 표시할 수 있습니다.

출력 경로를 간편하게 작성하는 방법으로는, 데이터 행을 클릭하여 이를 새로운 출력으로 추가할 수도 있습니다.

도트 표기법 사용에 대한 자세한 내용은 다음 자료를 참조하십시오: Processmaker: JSON 도트 표기법.
출력 결과
출력을 구성하는 방법에는 여러 가지가 있지만, 어떤 방법을 사용할지는 전적으로 애플리케이션에서 데이터를 어떻게 활용하고자 하는지에 달려 있습니다. 출력 구성을 시작하기 전에 최종 목표를 먼저 생각해 보십시오. 여러 데이터 유형을 개별 변수에 표시하고 싶으신가요? 아니면 하나의 배열에 동일한 데이터 유형이 포함되어 있어, 관련 정보를 추출하기 위해 단순히 파싱하고 싶으신가요?
다음 예제들은 모두 동일한 커넥터 함수를 기반으로 하며, 각 경우의 테스트 결과 본문은 동일합니다. 그러나 출력은 구조에 따라 달라집니다.
다음 예제는 커넥터가 JSON 경로 data.hits.slug에 대해 어떻게 출력하는지 보여줍니다. 이 출력의 구조에 따라, 커넥터는 지식 기반 문서의 모든 URL 슬러그가 포함된 대규모 배열을 반환합니다. 애플리케이션에서 이 커넥터 반환 값은 배열 변수 내에서 접근할 수 있습니다.

출력을 객체 목록 형태로 구성하고 결과에서 개별 데이터 유형을 추출함으로써, 애플리케이션에서 개별적으로 확인할 수 있는 여러 데이터 객체를 생성할 수 있습니다.

객체 목록은 내부에 여러 중첩된 데이터 유형을 포함하는 객체입니다. 출력 유형을 클릭하고 오른쪽 모서리에 있는 ‘목록(List)’ 스위치를 토글하여 객체 목록을 사용할 수 있습니다.

객체 목록이 있으면 애플리케이션에서 서로 다른 데이터 유형을 개별 데이터 조각으로 쉽게 활용할 수 있습니다.
앞서 살펴본 예시로 돌아가서, 출력 경로 data.hits.slug를 리스트로 만들어 보겠습니다. 아래 결과에서 볼 수 있듯이, Tulip은 이 커넥터의 반환 값을 슬러그의 배열로 구조화하며, 각 값 옆에는 해당 인덱스 위치가 표시됩니다.

출력에 대한 이러한 이해를 바탕으로, 이제 출력을 여러분의 커넥터 함수에 매핑하고 커넥터에서 반환되는 결과를 최적화할 수 있습니다!
Tulip AI를 활용한 출력 추출
이 글에서 이미 다룬 예시와 개념(Dot Notation 및 객체 목록)을 활용하여 출력 구조를 신속하게 구성하세요.
Tulip AI는 테스트 결과의 JSON 응답을 자동으로 분석하고 해당 Dot Notation 경로를 생성하는 강력한 지름길을 제공합니다. 중첩된 객체 구조를 재현하려고 시도하지만, 필요한 경우 복잡한 배열이나 객체를 평면화합니다.
Tulip AI는 기존 출력 및 추출 내용을 변경하지 않습니다. 초기 출력 구성 과정을 가속화하기 위해 새로운 출력이나 지정되지 않은 출력만 생성할 뿐입니다.
Tulip AI가 출력을 생성한 후에는 애플리케이션의 목표에 맞춰 이를 검토해야 합니다.
검토 시 다음 모범 사례를 따르십시오: * 불필요한 출력을 제거하십시오 * 명확성을 위해 변수 이름을 변경하십시오 * 출력 구조를 수동으로 조정하십시오(예: 배열이 올바르게 ‘객체 목록(List of Objects)’으로 설정되었는지 확인)
이러한 단계를 통해 애플리케이션에 필요한 데이터만 추출할 수 있습니다.

추가 자료
{{snippet.원하는 정보를 찾으셨나요?}}

