6.5. 스키마 정의
OpenShift Serverless Logic은 입력 스키마 정의 및 출력 스키마 정의의 두 가지 유형의 스키마 정의를 지원합니다.
6.5.1. 입력 스키마 정의
dataInputSchema
매개변수는 정의된 JSON
스키마에 대해 워크플로 데이터 입력을 검증합니다. 워크플로우 상태가 실행되기 전에 제공된 워크플로우 데이터 입력이 올바른지 확인하는 데 사용되므로 dataInputSchema
를 제공하는 것이 중요합니다.
다음과 같이 dataInputSchema
를 정의할 수 있습니다.
dataInputSchema
정의의 예
"dataInputSchema": { "schema": "URL_to_json_schema", "failOnValidationErrors": false }
스키마 속성은 URI로, 워크플로우 데이터 입력의 유효성을 검사하는 데 사용되는 JSON 스키마의 경로를 보유합니다. URI는 classpath URI, 파일 또는 HTTP URL일 수 있습니다. 클래스 경로 URI를 지정하는 경우 JSON 스키마 파일을 프로젝트의 resources 섹션 또는 classpath에 포함된 다른 디렉터리에 배치해야 합니다.
failOnValidationErrors
는 입력 데이터가 지정된 JSON 스키마와 일치하지 않을 때 채택된 동작을 나타내는 선택적 플래그입니다. 지정하지 않거나 true
로 설정하면 예외가 throw되고 흐름 실행이 실패합니다. false
로 설정하면 흐름이 실행되고 검증 오류가 있는 수준 WARN 로그가 출력됩니다.
6.5.2. 출력 스키마 정의
출력 스키마 정의는 워크플로우 실행 후 적용하여 출력 모델의 예상 형식이 있는지 확인합니다. Swagger 생성에도 유용합니다.
입력 스키마 정의와 유사하게 outputSchema
를 사용하여 JSON 스키마의 URL을 지정해야 합니다.
outputSchema
정의의 예
"extensions" : [ { "extensionid": "workflow-output-schema", "outputSchema": { "schema" : "URL_to_json_schema", "failOnValidationErrors": false } } ]
dataInputSchema
에 대해 설명된 동일한 규칙은 스키마
및 failOnValidationErrors
에 적용할 수 있습니다. 유일한 차이점은 워크플로우 실행 후 후자의 플래그가 적용된다는 것입니다.