source

JSON 스키마의 "필수"와 "옵션"의 차이점은 무엇입니까?

lovecheck 2023. 2. 17. 21:38
반응형

JSON 스키마의 "필수"와 "옵션"의 차이점은 무엇입니까?

다음과 같은 JSON 스키마를 발견할 수 있었습니다.

{
    "type": "object",   
    "properties": {
        "address": {
                   "type": "string",
                   "required": true
            }
     }

}

{
    "type": "object",   
    "properties": {
        "address": {
                   "type": "string",
                   "optional": false
            }
     }

}

그럼 이 두 가지 차이점이 뭐죠?requiredoptional위의 예에서?

JSON 스키마의 IETF 드래프트v4에서는required포함시키지 않습니다.optional.

에 대한 섹션을 인용하려면required드래프트 v4부터:

유효한 값:이 키워드의 값은 배열이어야 합니다.이 배열에는 하나 이상의 요소가 있어야 합니다.이 배열의 요소는 문자열이어야 하며 고유해야 합니다.

검증에 성공하기 위한 조건:오브젝트 인스턴스는 속성 세트에 이 키워드 배열 값의 모든 요소가 포함되어 있는 경우 이 키워드에 대해 유효합니다.

사실상, 사용required는 지정된 문자열 배열에 이름이 포함되지 않은 모든 속성을 옵션으로 만듭니다.

실제로는 동등한 표현이지만 다른 버전의 표준을 사용합니다.

optionalv2에서 가져온 것입니다.requiredv3의 것입니다.도구에 적합한 도구를 사용하고 있는지 확인해야 합니다(단, 가능하면 v4로 이동하는 것이 이상적입니다).

즉, 오브젝트에는 다음이 없어야 합니다.undefined에 대한 가치address프로퍼티(만일 경우)required).

언급URL : https://stackoverflow.com/questions/16204871/what-is-the-difference-between-required-vs-optional-in-json-schema

반응형