설명
수량이나 금액처럼 상한이 필요한 숫자 필드에 maximum 또는 동등한 제약이 없으면, 업무상 허용 범위를 넘는 값도 스키마를 통과할 수 있습니다.
잠재적 영향
서버도 상한을 검증하지 않으면 지나치게 큰 값이 계산 오류나 처리 실패를 일으킬 수 있습니다.
해결 방법
실제 허용 범위에 맞는 maximum을 정의하고 서버에서도 같은 한도를 검증하세요. 허용 값 목록이나 참조 스키마에 이미 상한이 정의되어 있는지도 확인하세요.
예시
다음 OpenAPI 3.0 발췌 예시는 code의 기존 최솟값 0에 최댓값 50을 추가합니다. 50은 이 예시의 업무상 한도입니다.
변경 전
json
{
"openapi": "3.0.0",
"components": {
"schemas": {
"GeneralError": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
}
}
}
변경 후
json
{
"openapi": "3.0.0",
"components": {
"schemas": {
"GeneralError": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 50
}
}
}
}
}
}