설명
OpenAPI 3.0에서 최상위 servers가 없거나 빈 배열이면 URL이 /인 서버가 기본값입니다. 이 설정은 유효하지만 문서가 제공되는 호스트의 루트가 실제 API 주소인지 확인해야 합니다.
잠재적 영향
기본 주소가 배포된 API와 다르면 문서 도구나 생성된 클라이언트가 잘못된 경로로 요청할 수 있습니다. servers를 생략했다고 실제 서버가 없거나 공개되는 것은 아닙니다.
해결 방법
기본 URL /이 의도한 주소인지 확인하세요. 다른 서버가 필요하면 servers 배열에 실제 URL을 명시하고, 경로나 작업 수준의 재정의도 함께 확인하세요.
예시
서버 기본값을 사용하는 문서와 명시적인 서버 주소를 비교합니다. 두 구성 모두 OpenAPI에서 허용됩니다.
변경 전
json
{
"openapi": "3.0.0",
"info": {
"title": "Simple API Overview",
"version": "1.0.0"
},
"paths": {
"/": {
"get": {
"operationId": "listVersionsv2",
"summary": "List API versions",
"responses": {
"200": {
"description": "200 response",
"content": {
"application/json": {
"examples": {
"foo": {
"value": {
"versions": [
{
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"id": "v2.0",
"links": [
{
"href": "http://127.0.0.1:8774/v2/",
"rel": "self"
}
]
}
]
}
}
}
}
}
}
}
}
}
}
}
변경 후
json
{
"openapi": "3.0.0",
"info": {
"title": "Simple API Overview",
"version": "1.0.0"
},
"paths": {
"/": {
"get": {
"operationId": "listVersionsv2",
"summary": "List API versions",
"responses": {
"200": {
"description": "200 response",
"content": {
"application/json": {
"examples": {
"foo": {
"value": {
"versions": [
{
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"id": "v2.0",
"links": [
{
"href": "http://127.0.0.1:8774/v2/",
"rel": "self"
}
]
}
]
}
}
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://my.api.server.com/",
"description": "My API Server"
}
]
}
변경 전에는 기본 URL /을 사용합니다. 변경 후에는 https://my.api.server.com/을 지정하므로 실제 API가 해당 주소에 제공되는지 확인해야 합니다.