사용하지 않는 매개변수 컴포넌트 (OpenAPI 3.0)

재사용 매개변수가 경로나 작업에 적용되지 않은 경우

설명

components.parameters에 정의하는 것만으로 매개변수가 요청에 적용되지는 않습니다. 경로나 작업의 parameters에서 참조해야 하며, 미사용 정의는 문서 정리 대상으로 검토할 수 있습니다.

잠재적 영향

사용자가 해당 매개변수를 실제 요청에서 받는 것으로 오해할 수 있습니다.

해결 방법

필요한 매개변수를 실제 사용 위치에서 $ref로 참조하세요. 이름, 위치, 필수 여부를 API에 맞추고, 다른 문서에서도 사용하지 않는 불필요한 정의만 제거하세요.

예시

다음 예시는 작업의 parameters에서 limitParam을 참조합니다.

변경 전

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": "Success"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "limitParam": {
        "name": "limit",
        "in": "query",
        "description": "max records to return",
        "required": true,
        "schema": {
          "type": "integer"
        }
      }
    }
  }
}

변경 후

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": "Success"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/limitParam"
          }
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "limitParam": {
        "name": "limit",
        "in": "query",
        "description": "max records to return",
        "required": true,
        "schema": {
          "type": "integer"
        }
      }
    }
  }
}

참조