룩업 생성
새 룩업을 생성합니다. 생성한 룩업의 이름과 설명은 룩업 수정 API로 변경할 수 있습니다.
필요 권한
관리자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
POST /api/sonar/lookups
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
-d 'name=country_code' \
-d 'description=국가코드 한글 이름 매핑' \
-d 'fields=[{"field_name":"country","len":2,"use_null":false},{"field_name":"name","len":255,"use_null":false}]' \
-X POST \
https://HOSTNAME/api/sonar/lookups
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| guid | X | 문자열 | 룩업 GUID | 36자. 미지정 시 무작위 생성 |
| name | O | 문자열 | 룩업 이름 | 최대 240자. 영문 대소문자, 숫자, 밑줄(_)만 사용 |
| description | X | 문자열 | 룩업 설명 | 최대 2,000자 |
| fields | O | 객체 배열 | 필드 정의 목록 | 아래 fields 객체 속성 참고 |
fields 객체 속성
- field_name (문자열): 필드 이름. 영문 대소문자, 숫자, 밑줄(_)만 사용할 수 있으며
created,updated,created_at,updated_at은 예약어로 사용할 수 없습니다. - len (32비트 정수): 값의 최대 길이. 1 이상 2,000 이하로 지정하며, 첫 번째 필드(키 필드)는 255 이하로 지정해야 합니다.
- use_null (불리언): 빈 값 허용 여부
Tip
필드는 최대 40개까지 정의할 수 있으며, 모든 필드 최대 길이의 합은 50,000 이하여야 합니다.
정상 응답
{
"guid": "76b8699d-91a1-4576-a908-7db753570a0a"
}
- guid (문자열): 생성된 룩업의 GUID
오류 응답
name이 누락된 경우
HTTP 상태 코드 400 응답
{
"error_code": "null-argument",
"error_msg": "name should be not null"
}
name 값의 길이가 잘못된 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'name' must be shorter than or equal to 240 characters."
}
description 값의 길이가 잘못된 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'description' must be shorter than or equal to 2000 characters."
}
guid가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}
룩업 이름에 허용되지 않는 문자를 포함한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "lookup name must be alphanumeric and underscore characters only: hello-world"
}
필드 이름에 허용되지 않는 문자를 포함한 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "lookup field name must be alphanumeric and underscore characters only: field-1"
}
필드 이름이 중복된 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "duplicated lookup field name: country"
}
필드 최대 길이가 허용 범위를 벗어난 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "max length of the field must be between 1 and 2000: field country, len 0"
}
예약된 필드 이름을 사용한 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "this field name is a reserved word: created"
}
룩업 이름이 중복된 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "duplicated lookup name: country_code"
}
룩업 GUID가 중복된 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "duplicated lookup guid: 76b8699d-91a1-4576-a908-7db753570a0a"
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}