설명
#/definitions/...로 참조하는 모델은 실제 definitions에 존재해야 합니다. 정의가 없거나 이름이 다르면 요청이나 응답 본문의 구조를 해석할 수 없습니다.
잠재적 영향
검증이나 모델 생성이 실패하고 클라이언트에 타입 정보가 누락될 수 있습니다.
해결 방법
스키마 참조를 정확한 모델 이름으로 수정하거나 필요한 정의를 추가하세요. 모델 이름을 바꿀 때는 모든 참조도 함께 갱신하세요.
예시
다음 POST 예시는 응답 스키마의 Use 참조를 실제 모델 이름인 User로 수정합니다.
변경 전
json
{
"swagger": "2.0",
"info": {
"title": "Simple API Overview",
"version": "1.0.0"
},
"paths": {
"/": {
"post": {
"operationId": "listVersionsv2",
"summary": "List API versions",
"responses": {
"200": {
"schema": {
"$ref": "#/definitions/Use"
},
"description": "A user"
}
},
"parameters": [
{
"$ref": "#/parameters/limitParam"
}
]
}
}
},
"parameters": {
"limitParam": {
"name": "limit",
"in": "body",
"description": "max records to return",
"required": true,
"schema": {
"type": "integer"
}
}
},
"definitions": {
"User": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
}
}
}
변경 후
json
{
"swagger": "2.0",
"info": {
"title": "Simple API Overview",
"version": "1.0.0"
},
"paths": {
"/": {
"post": {
"operationId": "listVersionsv2",
"summary": "List API versions",
"responses": {
"200": {
"schema": {
"$ref": "#/definitions/User"
},
"description": "A user"
}
},
"parameters": [
{
"$ref": "#/parameters/limitParam"
}
]
}
}
},
"parameters": {
"limitParam": {
"name": "limit",
"in": "body",
"description": "max records to return",
"required": true,
"schema": {
"type": "integer"
}
}
},
"definitions": {
"User": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
}
}
}
}
}