OpenAPIのライセンスURLの確認

ライセンスのリンクが正しい条件文書を指すか確認してください。

説明

info.license.urlはAPIのライセンス情報を確認するためのリンクです。意図しない空白や誤ったパスはアクセスを妨げます。また、アドレスの形式が正しいだけで、ライセンス名と内容が一致するとは限りません。

想定される影響

利用者が条件を確認しにくくなり、配布や再利用の検討で追加の確認が必要になる場合があります。

対処方法

誤記や意図しない空白を修正し、実際のライセンス文書へリンクしてください。リンク先がlicense.nameと意図した条件に一致するか確認してください。

例

Apache 2.0文書のURLに誤って挿入された空白を取り除く例です。OpenAPI 3.0では相対URLも許可されますが、独立したライセンスサイトには明示的なアドレスを使うと、基準アドレスによる混乱を減らせます。

変更前

json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Simple API Overview",
    "version": "1.0.0",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/ LICENSE-2.0.html"
    }
  },
  "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",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "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"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

変更後は正しいLICENSE-2.0.htmlのパスを使います。文書のリンクを修正するだけで、APIのライセンス条件が変わるわけではありません。

参考資料