액션 검증 결과와 제약 자료형
액션 검증은 전달한 매개변수와 제출 조건을 평가하여 VALID 또는 INVALID를 반환합니다. 실제 온톨로지에 변경을 적용하는 작업은 아닙니다. 기존 객체나 Foundry 데이터의 존재를 확인하는 검사는 제외되므로 이 결과만으로 기본 키의 고유성이나 사용자 ID의 존재를 보장하지 않습니다.
ValidateActionResponse
| 필드 | 자료형 | 필수 여부 | 의미 |
|---|---|---|---|
result | enum | 필수 | 전체 판정. VALID 또는 INVALID |
submissionCriteria | list<SubmissionCriteriaEvaluation> | 선택 | 제출 조건별 판정 |
parameters | map<ParameterId, ParameterEvaluationResult> | 선택 | 매개변수 ID별 평가 결과 |
SubmissionCriteriaEvaluation에는 필수 result와 선택적인 configuredFailureMessage 문자열이 있습니다. 제출 조건과 실패 메시지는 Ontology Manager에서 구성합니다.
ParameterEvaluationResult
| 필드 | 자료형 | 필수 여부 | 의미 |
|---|---|---|---|
result | enum | 필수 | VALID 또는 INVALID |
evaluatedConstraints | list<ParameterEvaluatedConstraint> | 선택 | 해당 입력에 적용한 최종 제약 목록 |
required | boolean | 필수 | 액션 입력에서 이 매개변수가 필요한지 여부 |
defaultValue | DataValue | 선택 | 기본값 표현 |
매개변수 제약은 입력에 따라 동적으로 달라질 수 있습니다. 최종 판정은 반환된 result로 확인하고 evaluatedConstraints에서 적용 조건을 확인합니다. V1 검증 API는 구성된 매개변수 기본값을 자동 적용하지 않으며, 입력에서 생략한 매개변수는 null로 처리합니다. 응답의 defaultValue 필드와 자동 기본값 적용을 같은 기능으로 해석하지 않습니다.
ParameterEvaluatedConstraint 유형
각 제약은 type으로 변형을 선택합니다.
| type | 의미 |
|---|---|
struct | 단일 구조체 매개변수의 필드별 평가 |
array | 항목별 평가를 지원하는 배열의 평가 |
oneOf | 미리 구성한 선택값 |
groupMember | 값이 지정 그룹 중 하나 이상에 속한 사용자의 ID여야 함 |
objectPropertyValue | 값이 객체 집합에서 찾은 객체의 속성값이어야 함 |
objectQueryResult | 값이 객체 집합에서 찾은 객체의 기본 키여야 함 |
range | 값의 범위 |
arraySize | 배열 크기의 범위 |
stringLength | 문자열 길이의 포함 범위 |
stringRegexMatch | 정규식 일치 |
unevaluable | 의존한 다른 매개변수나 객체 집합을 평가할 수 없어 현재 매개변수를 평가하지 못함 |
groupMember, objectPropertyValue, objectQueryResult, unevaluable 변형에는 별도의 추가 필드가 정의되어 있지 않습니다. 누락되거나 유효하지 않은 다른 매개변수로 허용값을 정하는 경우 unevaluable이 나타날 수 있습니다.
선택값 oneOf
| 필드 | 자료형 | 필수 여부 | 의미 |
|---|---|---|---|
options | list<ParameterOption> | 선택 | 미리 정의한 선택값 |
otherValuesAllowed | boolean | 필수 | 사용자 지정값도 유효하게 인정할지 여부 |
ParameterOption의 displayName 문자열과 value는 모두 선택 항목입니다. value는 액션에 허용한 값입니다. otherValuesAllowed는 Ontology Manager의 Allowed "Other" value 설정에 대응합니다.
{
"type": "oneOf",
"options": [
{"displayName": "Doe", "value": "Doe"},
{"displayName": "Smith", "value": "Smith"},
{"displayName": "Adams", "value": "Adams"},
{"displayName": "Jones", "value": "Jones"}
],
"otherValuesAllowed": true
}
범위 필드
range, arraySize, stringLength는 다음 범위 필드 집합을 사용합니다. 각 필드는 선택적인 DataValue입니다.
| 필드 | 비교 |
|---|---|
lt | 미만 |
lte | 이하 |
gt | 초과 |
gte | 이상 |
stringLength의 길이 범위는 포함 경계로 표현합니다. 범위 구조의 선택적 필드 목록과 실제 반환된 제약을 구분하며, 서버가 반환한 판정을 사용합니다.
{"type": "range", "gte": 18}
{"type": "range", "gte": 0, "lt": 100}
{"type": "arraySize", "gte": 2, "lte": 4}
정규식
stringRegexMatch는 필수 문자열 regex와 선택적인 configuredFailureMessage를 갖습니다. 두 값은 Ontology Manager의 해당 매개변수에서 구성합니다.
구조체 필드 평가
struct의 structFields는 선택적인 map<StructParameterFieldApiName, StructFieldEvaluationResult>입니다. 키는 구조체 매개변수 필드의 고유 API 식별자입니다.
| StructFieldEvaluationResult 필드 | 자료형 | 필수 여부 |
|---|---|---|
result | VALID 또는 INVALID | 필수 |
evaluatedConstraints | list<StructFieldEvaluatedConstraint> | 선택 |
required | boolean | 필수 |
구조체 필드의 제약은 oneOf, range, objectQueryResult, stringLength, stringRegexMatch 중 하나입니다. 각 변형의 필드는 위와 같으며, objectQueryResult에는 추가 필드가 없습니다. 필드 제약도 매개변수 입력에 따라 동적으로 결정합니다.
배열 항목 평가
array의 entries는 선택적인 list<ArrayEntryEvaluatedConstraint>입니다. 현재 배열 항목 제약은 struct 변형을 제공하며, 그 안의 structFields는 위의 구조체 필드 평가와 같은 맵입니다. 배열 전체 크기 검사인 arraySize와 항목별 구조체 검사인 array는 별개입니다.