사용하지 않는 전역 매개변수 정의 (OpenAPI 2.0)

재사용 매개변수가 필요한 곳에서 참조되지 않는 경우

설명

전역 parameters의 정의는 작업이나 경로에서 참조해야 해당 요청에 적용됩니다. 미사용 정의 자체가 보안 취약점은 아니지만, 오래된 정의나 잘못된 참조를 정리할 필요가 있습니다.

잠재적 영향

사용자가 실제 요청 매개변수를 혼동하거나 입력 규칙을 변경할 때 불필요한 정의까지 검토해야 할 수 있습니다.

해결 방법

필요한 매개변수는 올바른 $ref로 연결하세요. 다른 문서의 참조도 확인한 뒤 더 이상 필요하지 않은 정의만 제거하세요.

예시

다음 POST 예시는 잘못된 참조 이름 limitParame를 실제 정의인 limitParam으로 수정합니다.

변경 전

json
{
  "swagger": "2.0",
  "info": {
    "title": "Simple API Overview",
    "version": "1.0.0"
  },
  "paths": {
    "/": {
      "post": {
        "operationId": "listVersionsv2",
        "summary": "List API versions",
        "responses": {
          "200": {
            "description": "200 response"
          }
        },
        "parameters": [
          {
            "$ref": "#/parameters/limitParame"
          }
        ]
      }
    }
  },
  "parameters": {
    "limitParam": {
      "name": "limit",
      "in": "body",
      "description": "max records to return",
      "required": true,
      "schema": {
        "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": {
            "description": "200 response"
          }
        },
        "parameters": [
          {
            "$ref": "#/parameters/limitParam"
          }
        ]
      }
    }
  },
  "parameters": {
    "limitParam": {
      "name": "limit",
      "in": "body",
      "description": "max records to return",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  }
}

참조