타입과 맞지 않는 숫자 형식 (OpenAPI 3.0)

숫자 타입과 표준 format의 의미가 일치하지 않는 경우

설명

표준 숫자 format은 스키마의 type과 의미가 맞아야 합니다. int32와 int64는 integer에, float와 double은 number에 사용합니다. format은 선택 사항이며 사용자 정의 형식도 허용됩니다.

잠재적 영향

타입과 형식이 모순되거나 사용 중인 도구가 형식을 지원하지 않으면 SDK 모델, 검증, 직렬화 결과가 예상과 달라질 수 있습니다.

해결 방법

실제 데이터에 맞는 type과 표준 format 조합을 선택하세요. 사용자 정의 형식이 필요하면 코드 생성기와 검증기가 이를 일관되게 처리하는지 확인하세요.

예시

다음 OpenAPI 3.0 발췌 예시는 id의 형식을 integer에 맞는 int64로, percentage의 형식을 number에 맞는 float로 수정합니다.

변경 전

json
{
  "openapi": "3.0.0",
  "components": {
    "schemas": {
      "MyObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "double"
          },
          "percentage": {
            "type": "number",
            "format": "int32"
          }
        }
      }
    }
  }
}

변경 후

json
{
  "openapi": "3.0.0",
  "components": {
    "schemas": {
      "MyObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "percentage": {
            "type": "number",
            "format": "float"
          }
        }
      }
    }
  }
}

참조