설명
OpenAPI 2.0에서 consumes는 요청 본문의 미디어 유형을 나타냅니다. 본문을 받는 POST, PUT, PATCH 작업에 전역 또는 작업별 정의가 없으면 클라이언트가 어떤 형식으로 데이터를 보내야 하는지 알기 어렵습니다.
잠재적 영향
클라이언트가 잘못된 Content-Type을 사용해 요청이 거부되거나 본문 처리에 실패할 수 있습니다.
해결 방법
실제 서버가 받는 미디어 유형을 전역 consumes 또는 개별 작업에 명시하십시오. 작업별 값은 전역 값을 덮어씁니다. JSON 본문에는 application/json을 사용하고, 폼 데이터는 formData 파라미터로 정의하십시오.
예시
예시는 JSON 객체 본문을 받는 작업에 application/json을 명시하는 부분입니다.
변경 전
yaml
swagger: "2.0"
paths:
/users/{id}:
put:
parameters:
- in: body
name: body
schema:
type: object
responses:
"200":
description: ok
변경 후
yaml
swagger: "2.0"
paths:
/users/{id}:
put:
consumes:
- application/json
parameters:
- in: body
name: body
schema:
type: object
responses:
"200":
description: ok