화면 구성
Skill Builder 화면은 메뉴 모음, 내 스킬, 캔버스, 블록 목록, 프로퍼티 영역으로 구성됩니다. 항목별 자세한 설명은 다음의 테이블을 참고하시기 바랍니다.
그림Kakao i Skill Builder
구성 요소 | 설명 | |
---|---|---|
① 메뉴 모음 | 하기 아이콘으로 구성 - [메인] 아이콘: 클릭 시 메인 화면으로 이동 - [Phase 관리] 아이콘: 클릭 시 Phase 관리로 이동 - [설정] 아이콘: 클릭 시 환경 설정 메뉴로 이동 |
|
② 내 스킬 | 메인 아이콘 클릭 시 표시되며, 기존 Skill(API)을 확인 또는 신규 Skill 생성 가능 - MY 탭: 현재 편집 중인 Skill 목록 - 사용자 정의 탭: 클릭 시 사용자 정의 Skill 확인 가능 - 공통 탭: 인터셉터, 예외 처리 등 공통으로 사용할 수 있는 Skill 목록을 확인 가능 |
|
③ 캔버스 | 우측 블록들을 드래그 앤 드롭하여 Skill을 생성할 수 있는 캔버스 영역 - [사용자 정의 블록 생성] 버튼: 편집 중인 블록들을 하나의 사용자 정의 블록으로 생성 - [저장] 버튼: 캔버스 내용 저장 - [배포] 버튼: 편집한 Skill을 호출 가능한 상태로 배포 |
|
④ 블록 목록 | Skill 생성에 사용할 수 있는 블록 목록으로, 캔버스 영역에 드래그 앤 드롭하여 사용 - 일반 탭: 기본 제공 블록들을 표시 - 사용자 정의 탭: 사용자가 등록한 블록들의 목록 |
|
⑤ 프로퍼티 | 블록 목록에서 선택된 블록의 프로퍼티를 보여주는 영역 - 블록에 따라 탭 구성이 다르며, 자세한 설명은 Skill Builder 블록 상세 설명 참고 |
블록 목록
Skill 개발을 위해 캔버스 영역에 드래그 앤 드롭 방식으로 사용할 수 있는 블록 목록은 다음과 같습니다.
블록별로 자세한 정보는 블록 상세 설명을 참고하시기 바랍니다.
카테고리 | 블록 | 설명 |
---|---|---|
Start | START(REST) | 모든 Skill의 시작이 되는 블록 - 신규로 생성 중인 Skill의 호출 주소를 보유 |
START(예외 처리) | 다른 Skill에서 공통으로 사용 가능한 Exception Skill의 시작 블록 - Skill에 해당 블록 존재 시 저장 시점에 자동으로 공통 카테고리로 이동됨 |
|
START(사용자) | 다른 Skill에서 공통으로 사용 가능한 사용자 정의 Skill의 시작 블록 - [사용자 정의 블록 생성] 버튼 클릭 시 사용자 정의 카테고리로 이동됨 |
|
START(인터셉터) | 다른 Skill에서 공통으로 사용 가능한 Interceptor Skill의 시작 블록 - Skill에 해당 블록 존재 시 저장 시점에 자동으로 공통 카테고리로 이동됨 |
|
Component | REST API CALL | 외부의 REST API를 호출하는 블록 - 기존에 개발된 REST API를 호출 가능 |
JDBC | 설정한 JDBC 연결 설정을 기반으로 직접 작성한 쿼리를 실행하는 블록 - 데이터베이스에 접속하여 SQL문 실행 후 결괏값을 반환 |
|
LDAP | LDAP 쿼리를 사용하여 데이터를 가져오거나, 사용자 로그인을 수행 - 설정한 LDAP 서버 연결 설정을 기반 |
|
BOT RESPONSE | 해당 API가 Skill로 활용될 때 챗봇에 전송할 응답을 설정하는 블록 - 챗봇 전용으로 응답 말풍선을 작성 |
|
File | 특정 파일을 읽거나 데이터를 파일 형태로 만들 수 있는 블록 - 파일에 접근하여 READ, WRITE, COPY 수행 |
|
Bean | Java로 만든 소스 코드를 실행 - Java 소스 코드 생성 및 코드 내 함수 호출 수행 |
|
VC BOT RESPONSE | 해당 API가 Skill로 활용되는 경우 보이스봇에 전달할 응답을 설정 - 보이스봇 전용으로 응답 말풍선을 작성 |
|
SSH | SSH에 접속하여 원격 제어 명령어를 실행 - 지원 예정 |
|
FTP | FTP에 접속하여 파일의 업로드 및 다운로드 수행 - 지원 예정 |
|
Control | SCATTER | 동일한 입력 데이터를 다수의 블록으로 동시에 보낼 수 있도록 하는 블록 - 멀티 ROUTE를 위한 Skill 분기 기능을 수행 |
AGGREGATE | 다수 블록의 출력 데이터를 병합하는 블록 - SCATTER 또는 SPLIT 블록에서 분기된 데이터를 하나로 병합 |
|
SPLIT | 입력 데이터를 특정 기준으로 나누어 반복적으로 처리할 수 있는 블록 - 멀티 데이터 처리를 위한 데이터 분기 기능을 함 |
|
CHOICE | 설정한 조건에 따라 Skill의 분기를 생성하는 블록 - JAVA의 If, Else 문에 해당하는 기능을 함 |
|
CASE | 설정한 조건에 따라 Skill의 분기를 생성하는 블록 - JAVA의 Switch, Case 문에 해당하는 기능을 함 |
|
LOOP | Java의 For, While 문에 해당하는 기능을 수행 - 지원 예정 |
|
Exception Handler | 유형별로 필요한 오류 처리를 지정하는 블록 - 지원 Skill의 분기 |
|
Transformation | JSON | 이전 블록의 출력을 새로운 형태의 JSON으로 변환하는 블록 - JSON 데이터 포맷을 대상으로 데이터를 가공 |
TEXT | String 데이터 포맷을 대상으로 데이터를 가공 - 지원 예정 |
|
Tools | Group | 캔버스 내 특정 영역을 그룹화하여 표시 |
블록 상세 설명
Skill 생성을 위해 제공하는 블록들은 블록별 특성에 따라 Start, Component, Control, Transformation, Tools 카테고리로 구분되어 제공됩니다.
Start
Start 카테고리는 모든 Skill(API)의 시작점이 되는 블록들로 구성됩니다. Skill뿐만 아니라 사용자 정의, 인터셉터, 예외 처리 등 Skill 구성에 필요한 특수 목적의 모듈 생성의 출발점이 되며, Skill의 호출 주소를 보유합니다.
Skill 완성 시 해당 Skill의 REST API 주소 형식은 다음과 같습니다.
- 주소: {Skill이 구동 중인 서버의 HTTP 주소}/api/{START 블록의 URI}
ex)http://apibuilder-server/api/uriName
START(REST)
모든 Skill의 시작이 되는 블록으로, 생성 중인 Skill의 호출 주소를 보유합니다.
표START(REST)구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 해당 블록의 이름 |
별명 | 해당 블록의 별명 |
API 요청 방식 | 해당 API의 호출 메서드 형식을 설정 - {POST(Skill default) | GET | PUT | DELETE} 중 선택 |
URI 정보 | 해당 API가 호출되는 URI를 설정하며, 경로 변수를 사용하는 경우에는 중괄호({ , } )로 해당 변수를 감싸서 표시ex) example/{variable} |
해당 API 메서드가 POST, PUT, DELETE인 경우 받게 될 Request Body를 설정 | |
[사용자 입력] | 클릭 시 해당 블록으로 전달받을 데이터 형식을 지정 또는 설정 가능 |
배치 동작 여부 및 세부 설정을 하며, 토글 버튼을 활성화하면 세부 설정 가능 | |
그룹 이름 | 해당 배치의 그룹 이름으로, Unique 값이어야 함 |
트리거 이름 | 해당 배치의 트리거 이름으로, Unique 값이어야 함 |
트리거 타입 | 배치 동작 타입 - Simple: 배치가 Skill Server에 배포되는 시점부터의 호출 간격과 반복 횟수 설정 - Cron: 일반적인 Cron 표현식과 기준 시간대를 설정 |
인증 API를 설정 | |
인증 API 선택 | 토글 버튼을 활성화하면 인증 API를 선택 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
START(예외 처리)
Skill(API)에 적용 가능한 예외 처리 모듈의 시작점이 되는 블록으로, 처리 대상 클래스 이름과 예외 처리가 적용되는 Skill 목록을 보유합니다.
표START(예외 처리)구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 해당 블록의 이름 |
별명 | 해당 블록의 별명 |
처리 대상 | 해당 모듈이 처리하고자 하는 클래스명 목록 - 일반적인 Java의 예외 클래스와 Apache Camel의 예외 클래스를 지원 |
적용 Skill | 현재 내 스킬에 존재하는 편집용 Skill 목록으로, 체크박스에서 항목 선택 - 특정 Skill에 해당 모듈을 적용 후 적용 대상 Skill을 재배포해야 모듈 내용이 대상 Skill에 적용됨 |
입력 | 해당 모듈이 시작하는 시점에 보유하는 데이터 - 발생한 예외 처리 메시지는 message 라는 Key로 가지고 있음 |
START(사용자)
Skill(API)에 적용 가능한 사용자 정의 블록의 시작점이 되는 블록입니다.
표START(사용자)구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 해당 블록의 이름 |
별명 | 해당 블록의 별명 |
사용 중인 Skill | 현재 내 스킬에 존재하는 Skill 중 해당 블록을 사용하고 있는 Skill 목록 - 액션의 [이동하기] 버튼을 클릭하여 해당 Skill로 바로 이동 가능 |
입력 | 해당 블록이 이전 블록으로부터 받게 될 데이터를 설정 - 해당 사용자 정의 블록이 사용되고 있는 Skill들의 공통 입력 값을 자동으로 설정 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
START(인터셉터)
Skill의 Request Body와 Response Body에 대한 로깅을 수행할 수 있는 모듈의 시작점이 되는 블록입니다.
표START(인터셉터)구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 해당 블록의 이름 |
별명 | 해당 블록의 별명 |
적용 Skill | 현재 내 스킬에 존재하는 편집용 Skill 목록으로, 로깅을 수행할 Skill을 목록에서 선택 |
입력 | 해당 블록이 이전 블록으로부터 받게 될 데이터를 설정 - 해당 사용자 정의 블록이 사용되고 있는 Skill들의 공통 입력 값을 자동으로 설정 |
Component
Component 카테고리는 Apache Camel에서 제공하는 Component 기능들로 구성됩니다.
REST API CALL
외부의 REST API를 호출하는 블록으로, 기존에 개발된 REST API를 호출합니다.
표REST API CALL구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 해당 블록의 이름 |
별명 | 해당 블록의 별명 |
HTTP 요청 방식 | 해당 Skill의 호출 메서드 형식을 설정 - {GET | POST | PUT | DELETE} 중 선택 |
프록시 | 활성화 시 REST API 호출 시 방화벽 등이 막혀 있을 경우 Proxy를 통해 외부 호출을 허용 |
URI 정보 | 해당 Skill의 URI를 설정 |
QueryString | 입력된 URI 정보에 쿼리 스트링이 포함되어 있을 경우 표시되며, Key-Value 값을 수정할 수 있음 - Value 값으로 {start.input1}와 같이 이전 블록의 출력값을 설정했을 경우, 헤더/바디 데이터 탭의 [요청하기] 버튼을 클릭하여 테스트 실행 가능 |
인증 | API에 대한 인증 방식을 설정할 수 있는 탭 |
HTTP 요청에 사용되는 헤더와 바디 데이터를 설정 - [+]과 [-] 버튼을 클릭하여 HTTP 요청에 사용되는 헤더와 바디 데이터를 추가 및 삭제 가능 |
|
Header 설정 | 헤더의 키와 값을 설정 |
요청 파라미터 설정 | 요청 파라미터의 키와 값을 설정 - 일반 탭에서 HTTP 요청 방식을 POST로 설정 시 표시 |
요청 파라미터 미리 보기 | 설정한 요청 파라미터를 Query String으로 표시 - [요청하기] 버튼: 클릭 시 설정한 헤더/바디 데이터로 테스트 요청을 수행하고, 요청 결과 영역에 해당 테스트 결괏값이 블록의 출력값으로 설정됨 • POST의 경우 Request Body의 미리 보기 값을 기준으로 요청 • GET의 경우 testValue 가 있다면 testValue 값을 기준으로 요청 |
요청 결과 | 해당 테스트 결괏값이 블록의 출력값으로 설정 |
Skill의 입력과 출력을 설정 | |
입력 | 해당 Skill 메서드가 POST, PUT, DELETE인 경우, 수신할 Request Body를 설정하며 이전 블록의 출력과 동일 |
출력 | [사용자 입력] 버튼을 클릭하여 해당 Skill이 응답으로 보내주는 데이터를 직접 설정 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
JDBC
설정한 JDBC 연결 설정을 기반으로 직접 작성한 쿼리를 실행하는 블록으로, 데이터베이스에 접속하여 SQL문 실행 후 결괏값을 반환합니다.
표JDBC구분 | 설명 |
---|---|
기본 정보를 입력 | |
이름 | 캔버스 상에 표시할 이름 |
별명 | 캔버스 상에 표시할 별명 |
Enrich로 사용 | 활성화 시, JDBC의 다음 블록에서 JDBC의 출력값뿐만 아니라 JDBC 블록의 입력값에도 설정됨 |
저장소 선택 | JDBC 연결 설정한 JDBC 중 하나를 선택 |
SQL 문 | 해당 Skill가 수행할 쿼리를 작성하고, 중괄호({ , } )를 활용하여 이전 블록에서의 출력값을 적용 후 [테스트] 버튼을 클릭하여 작성한 쿼리를 테스트 가능 |
SQL 결과 | [테스트] 버튼을 클릭하여 수행된 쿼리의 실제 결과물을 표시 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 쿼리문에서 활용 가능 |
출력 | 입력한 쿼리를 기반으로 예상 결과를 출력 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
LDAP
설정한 LDAP 연결 설정을 기반으로 직접 작성한 쿼리를 실행하는 블록으로, 데이터베이스에 접속하여 SQL문 실행 후 결괏값을 반환합니다.
표LDAP구분 | 설명 |
---|---|
기본 정보를 입력 | |
이름 | 캔버스 상에 표시할 이름 |
별명 | 캔버스 상에 표시할 별명 |
저장소 선택 | 연결 설정된 LDAP 중 하나를 선택 |
해당 Skill가 수행할 필터의 정보를 입력 | |
타입 | Skill이 수행할 역할의 타입 중 하나를 선택 |
탐색 영역 | 필터를 통해 탐색할 영역 중 하나를 선택 |
제한 | 반환받는 값의 개수에 대한 제한을 설정 - 0일 경우 무제한 |
속성 | 반환받는 객체들의 속성값을 설정 |
필터 | 수행할 필터(쿼리)를 입력 |
쿼리 결과 | 수행할 필터(쿼리)의 결과 출력 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 LDAP 쿼리문에서 활용 가능 |
출력 | 입력한 LDAP 쿼리를 기반으로 예상 결과를 출력 |
[사용자 입력] | 필터 탭에서 테스트 버튼을 통해 output 이 정해졌을 때, output 에 key 값을 추가할 수 있음 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
BOT RESPONSE
BOT RESPONSE 블록은 카카오톡 챗봇 개발 시 말풍선 응답을 설정하며, 챗봇 관리자센터에서는 제공하지 않고 Skill Builder의 BOT RESPONSE 블록에서만 제공하는 기능입니다.
표BOT RESPONSE구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 캔버스 상에 표시할 이름 |
설명 | 캔버스 상에 표시할 설명 |
[컨텍스트 설정] | 다음 Skill에 전달하고자 하는 데이터를 설정 |
봇 응답 형식 설정 | 실제 응답을 구성하는 영역으로, 최대 세 개의 응답 설정 가능 - 텍스트, 이미지, 카드, 목록, Skill 데이터 등의 응답 형식 제공 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 응답 설정에서 활용 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
안내
BOT RESPONSE 블록은 다음의 추가 기능을 지원합니다. 자세한 설명은 블록별 추가 기능 문서의 BOT RESPONSE 블록을 참고하시기 바랍니다.
FILE
특정 파일을 읽거나 데이터를 파일 형태로 만들 수 있는 블록으로, 파일에 접근하여 READ, WRITE, COPY를 수행할 수 있습니다.
표FILE구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 캔버스 상에 표시할 이름 |
별명 | 캔버스 상에 표시할 별명 |
기능 | 읽기나 쓰기 등 블록 동작 방식을 선택 |
디렉터리 위치와 파일 이름을 입력하여 테스트 | |
디렉터리 위치 | 디렉터리 위치를 입력 |
파일 이름 | 파일 이름을 입력 |
[테스트] | 버튼 클릭 시 테스트 수행 |
다음 컴포넌트 데이터 | 해당 영역에 다음 블록의 데이터가 표시 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
BEAN
JAVA로 만든 소스 코드를 실행합니다.
표 BEAN구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 캔버스 상에 표시할 이름 |
별명 | 캔버스 상에 표시할 별명 |
클래스 이름 | 생성할 클래스 이름 명시. 아래 두 가지 형태로 클래스 사용 가능 - 중괄호( { ,} ) 입력 시 Bean 관리 화면에서 등록한 클래스 사용 가능- 중괄호( { ,} ) 미입력 시 새로운 클래스 생성하며 코드 탭에 등록한 소스 코드로 신규 Bean 생성 |
등록 타입(Scope) | 다음의 등록 타입으로 구분됨 - Singleton: SpringContext 내에서 한 번 생성되며, 동일한 객체가 계속 사용됨 - Prototype: 매번 새로운 객체를 생성하며, 동일한 객체를 사용하지 않음 |
메서드 | 클래스 내 정의된 함수 목록 중 호출할 함수 기록 |
매개 변수 | 메서드에 매개변수 기록 |
테스트 및 결과 | [테스트] 버튼 클릭 시 테스트 수행 |
코드 | Java 코드를 입력 - 일반 탭에서 설정한 클래스 이름과 메서드를 코드로 구현 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 응답 설정에서 활용 가능 |
출력 | 입력한 데이터를 기반으로 예상 결과를 출력 |
[사용자 입력] | 해당 블록의 예상 출력값을 직접 설정할 수 있음 |
VC BOT RESPONSE
보이스봇 개발 시 답변을 설정하는 블록입니다.
표VC BOT RESPONSE구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
이름 | 캔버스 상에 표시할 이름 |
설명 | 캔버스 상에 표시할 설명 |
설정 | [...] 버튼을 클릭 시 설정 가능 - 컨텍스트 설정: 다음 Skill에서 유지할 데이터 또는 전달할 데이터를 설정 - instructions 설정: 출력 장치에서 수행할 명령어 설정(ex. 통화 중 Kakao i가 통화 종료 요청) - baggage 설정: TTS 엔진 음성처리 방법 설정(Plain, Deep) |
음성 봇 설정 | 상태와 응답 후 동작을 설정 - FINISH: 대화를 종료 - REPLY: 대화를 이어나감 |
응답 설정 | speak 태그로 감싸서 답변 삽입 가능 |
JSON | 실제로 설정한 값들이 어떤 형태로 생성되었는지 확인 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 응답 설정에 활용 가능 |
출력 | 입력한 데이터를 기반으로 예상 결과를 출력 |
SSH(지원 예정)
SSH(Secure SHell)에 접속하여 원격 제어 명령어를 실행합니다.
FTP(지원 예정)
FTP(File Transfer Protocol)에 접속하여 파일 업로드와 다운로드를 수행합니다.
Control
Control 카테고리는 EIP 패턴들을 기반으로 다양한 조건에서의 Skill 설계를 지원합니다.
SCATTER
SCATTER는 EIP SCATTER 패턴을 기반으로 입력 데이터를 다수의 블록으로 동시에 보낼 수 있도록 하며, 멀티 ROUTE를 위한 Skill 분기 기능을 합니다.
표SCATTER구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
별명 | 해당 블록의 별명을 확인 |
입력 | 이전 블록으로부터 받아온 변수 정보 표시 |
옵션 | SCATTER 블록과 관련된 옵션을 설정 - 타임아웃: SCATTER 타임아웃 옵션을 설정 - 오류 발생 시 진행 중단: 토글 버튼을 활성화하면, 오류 발생 시 진행을 중단 - 병렬 처리: 토글 버튼을 활성화하면, 병렬 처리 가능 - 비동기 처리: 연결된 다음 블록들 중 비동기로 처리할 목록 선택 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
AGGREGATE
다수 블록들의 출력 데이터를 병합하는 블록으로, SCATTER/SPLIT으로 분기된 데이터를 하나로 병합합니다.
- AGGREGATE 블록은 SCATTER, SPLIT, CHOICE, CASE 블록에 한해 적용할 수 있습니다.
구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
별명 | 해당 블록의 별명 |
데이터 조인 | 활성화 시 해당 블록으로 들어오는 다수의 데이터들에 대한 조인을 설정 - 조건: 데이터 조인 조건 • || 연산자로 다중 조건을 설정 가능하며, == 연산자의 좌측에 선언된 데이터가 기준이 됨- 타깃 데이터: 조인 성공 시 추가로 설정할 데이터 - 출력 형태 • 접두사: 타깃 데이터가 삽입될 때 사용될 Key(기준 데이터) 앞에 붙는 문자 • 타깃 위치: 타깃 데이터가 삽입될 위치 설정 • 접미사: 타깃 데이터가 삽입될 때 사용될 Key 뒤에 붙는 문자 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 응답 설정에서 활용 가능 |
출력 | 입력한 데이터를 기반으로 예상 결과를 출력 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
SPLIT
입력 데이터를 특정 기준으로 나누어 반복적으로 처리할 수 있는 블록으로, 멀티 데이터 처리를 위한 데이터 분기 기능을 합니다.
- SPLIT 블록은 EIP SPLIT 패턴을 기반으로 합니다.
구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
별명 | 해당 블록의 별명을 확인 |
기준 데이터 | 기준 데이터 설정 |
구분 문자 | 구문 문자 설정 |
입력 | 이전 블록으로부터 받아온 변수 정보 표시 |
옵션 | SPLIT 블록과 관련된 옵션 설정 - 타임아웃: SPLIT 타임아웃 옵션을 설정 - 최종 출력 타입: {현재 입력 그대로 사용 | SPLIT 최종 출력 사용} 중 선택 - 오류 발생 시 진행 중단: 토글 버튼을 활성화하면 오류가 발생했을 때 진행을 중단 - 병렬 처리: 토글 버튼을 활성화하면 병렬 처리 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
CHOICE
CHOICE 블록은 EIP CHOICE 패턴을 기반으로 설정한 조건문의 TRUE/FALSE에 따라 분기하는 블록으로, JAVA의 IF문에 해당하는 기능을 합니다.
표CHOICE구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
별명 | 해당 블록의 별명을 확인 |
조건문 | 분기의 기준이 되는 조건문을 설정 |
조건 만족 시 실행 블록 | 조건 만족 시 실행할 블록으로 해당 블록과 연결된 블록 중 하나를 선택 |
입력 | 이전 블록으로부터 받는 데이터를 표시하여 조건문에서 활용 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
CASE
CASE 블록은 EIP CHOICE 패턴을 기반으로 설정 조건에 따라 분기를 생성하는 블록입니다. CHOICE 블록과 같은 EIP 패턴을 따르며, JAVA의 SWITCH/CASE문에 해당하는 기능을 수행합니다.
표CASE구분 | 설명 |
---|---|
블록의 기본 정보를 설정 | |
별명 | 해당 블록의 별명을 확인 |
조건대상 | CASE 분기를 수행할 기준을 해당 블록의 입력값(문자, 숫자) 중 입력하여 설정 - 조건 대상이 객체이고 특정 Key 값의 유무를 확인하려면 조건 대상 값을 대괄호( [ , ] )안에 입력 |
입력 | 이전 블록으로부터 받는 데이터를 표시하여 조건문에서 활용 가능 |
조건 | 조건 대상이 특정 값을 가졌을 때 수행할 후속 블록과 해당 특정 값을 설정 - [+] 버튼과 휴지통 아이콘을 클릭하여 분기 조건을 추가 및 삭제 가능 |
비고 | 해당 블록에 대한 의견이나 코멘트 등을 기록 |
사용 문법
CASE 블록에서는 조건 대상의 Variable에 대해 다음의 문법을 적용할 수 있습니다.
표CASE구분 | 설명 |
---|---|
<variable> | 해당 값은 String이며 < >로 감쌀 경우 조건의 값이 variable 값에 포함되는 String인지 판단 ( contain String )- 예를 들어 Variable 값이 'chandler'이고 조건 1이 'ch'일 경우, ch는 chandler라는 String 안에 포함되므로 조건 1로 분기 |
[variable] | 해당 값은 Key-Value 형태로 [ ]로 감쌀 경우 조건 값이 variable 안에 key 값으로 포함되는지 판단 ( key in Object )- 예를 들어 Variable 형태가 'name : chandler'이고 조건 1이 'name'일 경우, name이 Variable 안에 Key 값으로 존재함으로 조건 1로 분기 |
variable | 조건과 완전히 일치하는지 판단(exactEqual ) |
LOOP(지원 예정)
JAVA의 For, While 문에 해당하는 기능을 합니다.
Exception Handler(지원 예정)
유형별로 필요한 오류 처리를 지정하는 블록입니다.
Transformation
Transformation 카테고리는 데이터를 가공하는 데 필요한 블록들로 구성됩니다.
JSON
이전 블록의 출력 데이터를 새로운 형태의 JSON 형식으로 변환하는 블록입니다. 단순 Key 변경부터, 고정값 또는 BEAN 적용을 통한 비즈니스 로직을 적용할 수 있습니다.
표JSON구분 | 설명 |
---|---|
실제 변환을 수행하는 탭으로 입력의 엘리먼트를 클릭 후 연결할 출력의 엘리먼트를 클릭 | |
[설정] | [설정] 버튼 클릭 시 나타나는 팝업창에서 데이터 설정 가능 - 고정값 적용: 입력 데이터와의 연결없이 항상 고정된 값을 적용 가능 - BEAN 적용: Global Bean을 입력 데이터 유무와 상관없이 적용 가능하며, 연결된 입력 데이터가 있는 경우 해당 Bean의 매개변수로 사용할 수 있음 |
해당 블록의 입력과 출력을 표시 | |
입력 | 해당 블록이 이전 블록으로부터 받게 되는 데이터를 표시하여 응답 설정에서 활용 가능 |
출력 | 입력한 데이터를 기반으로 예상 결과를 출력 |
안내
JSON 블록은 출력 데이터에 대해 다음의 추가 기능을 지원합니다. 자세한 정보는 블록별 추가 기능 문서의 JSON 블록을 참고하시기 바랍니다.
TEXT(지원 예정)
이전 블록의 출력 데이터를 새로운 형태의 TEXT 형태로 변환하는 블록입니다.
Tools
Tools 카테고리는 비즈니스와 관련없는 편의를 위한 블록들로 구성됩니다.
Group
캔버스 내 블록들을 그룹화하며, 크기를 조정하고 설명을 추가할 수 있습니다.