OpenAPI 연락처 URL 점검

연락처 링크가 올바른 지원 페이지로 연결되는지 확인하세요.

설명

OpenAPI의 info.contact.url은 API 관련 연락처 정보를 제공하는 페이지를 가리킵니다. OpenAPI 3.0에서는 상대 URL도 허용되므로 / 자체가 잘못된 형식은 아니지만, 서버 URL을 기준으로 해석한 대상이 실제 지원 페이지인지 확인해야 합니다.

잠재적 영향

잘못된 대상이나 끊어진 링크는 API 사용자가 지원 채널을 찾기 어렵게 만듭니다.

해결 방법

주소의 철자와 실제 연결 대상을 확인하세요. 상대 주소를 사용할 때는 기준 URL과 도구의 처리 방식을 확인하고, 독립적인 지원 사이트라면 스킴과 호스트를 포함한 URL을 명시하세요.

예시

OpenAPI 3.0의 상대 경로 /과 절대 URL을 비교합니다. 형식이 허용된다는 사실만으로 해당 페이지가 API 지원 정보를 제공한다고 보장되지는 않습니다.

변경 전

json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Simple API Overview",
    "version": "1.0.0",
    "contact": {
      "name": "contact",
      "url": "/",
      "email": "user@gmail.com"
    }
  },
  "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",
    "contact": {
      "name": "contact",
      "url": "https://www.google.com/",
      "email": "user@gmail.com"
    }
  },
  "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"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

변경 후 URL은 Google 홈페이지를 가리키는 예시입니다. 실제로 운영하는 API 지원 페이지로 바꾸고 문서에서 올바르게 연결되는지 확인하세요.

참조