Schema Object 비어 있음

데이터 구조를 제한해야 한다면 빈 스키마에 필요한 제약을 정의합니다.

설명

빈 스키마 객체 {}는 값의 타입, 필드, 필수 항목 같은 제약을 정의하지 않습니다. 정해진 데이터 구조를 기대하는 곳에 빈 스키마를 사용하면 문서에 필요한 검증 기준이 빠집니다.

잠재적 영향

문서를 이용한 검증에서 의도하지 않은 구조가 허용되거나 클라이언트가 잘못된 데이터 모델을 가정할 수 있습니다.

해결 방법

실제 데이터에 필요한 type, properties, items, required 등의 제약을 정의하십시오. 임의의 구조를 의도적으로 허용하는 경우에는 그 의도를 명확히 문서화하고 필요한 제한은 처리 로직에 적용하십시오.

예시

예시는 객체 타입과 두 필드를 정의하고 message를 필수로 지정합니다. 추가 필드는 별도로 금지하지 않습니다.

변경 전

json
{
  "components": {
    "schemas": {
      "GeneralError": {}
    }
  }
}

변경 후

json
{
  "components": {
    "schemas": {
      "GeneralError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      }
    }
  }
}

참조