설명
문자열에 길이 제한이 필요한데 maxLength나 동등한 제약이 없으면 지나치게 긴 값도 스키마상 허용될 수 있습니다.
잠재적 영향
서버도 길이를 제한하지 않으면 큰 입력으로 메모리와 저장 공간 사용량이 늘거나 처리 오류가 발생할 수 있습니다.
해결 방법
업무 요구사항에 맞는 maxLength를 정의하고 서버의 허용 길이와 일치시키세요. 허용 값 목록 등으로 이미 길이가 제한되어 있는지도 확인하세요.
예시
다음 OpenAPI 3.0 발췌 예시는 code를 최대 15자, message를 최대 255자로 제한합니다. 실제 한도는 각 필드의 용도에 맞게 정하세요.
변경 전
json
{
"openapi": "3.0.0",
"components": {
"schemas": {
"GeneralError": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
}
}
변경 후
json
{
"openapi": "3.0.0",
"components": {
"schemas": {
"GeneralError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"maxLength": 15
},
"message": {
"type": "string",
"maxLength": 255
}
}
}
}
}
}