OpenAPI 기본 서버 주소 점검

생략된 서버 설정의 기본값이 의도한 엔드포인트인지 확인하세요.

설명

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가 해당 주소에 제공되는지 확인해야 합니다.

참조