파일 업로드의 consumes 형식 오류 (OpenAPI 2.0)

파일 매개변수와 요청의 미디어 타입이 맞지 않는 경우

설명

OpenAPI 2.0의 파일 매개변수에는 폼 전송에 맞는 consumes가 필요합니다. 명세에서 허용하는 형식은 multipart/form-data와 application/x-www-form-urlencoded이며, 일반적인 파일 업로드에는 multipart/form-data를 사용합니다.

잠재적 영향

클라이언트가 잘못된 콘텐츠 유형으로 요청을 구성해 파일 업로드에 실패할 수 있습니다.

해결 방법

작업에 적용되는 consumes를 실제 서버의 업로드 형식에 맞추세요. 작업별 값은 전역 값을 대체합니다. 파일 매개변수의 in은 formData로 지정하세요.

예시

다음 발췌 예시는 POST 업로드의 consumes를 application/json에서 multipart/form-data로 바꿉니다.

변경 전

json
{
  "paths": {
    "/": {
      "post": {
        "parameters": [
          {
            "name": "File",
            "type": "file",
            "in": "formData"
          }
        ],
        "consumes": [
          "application/json"
        ]
      }
    }
  }
}

변경 후

json
{
  "paths": {
    "/": {
      "post": {
        "parameters": [
          {
            "name": "File",
            "type": "file",
            "in": "formData"
          }
        ],
        "consumes": [
          "multipart/form-data"
        ]
      }
    }
  }
}

참조