Swagger Content-Type 'application/octet-stream' is not supported 오류

별빛사막·2025년 4월 11일
0

트러블슈팅

목록 보기
7/7
post-thumbnail

문제 상황

프론트에서 Swagger UI로 API를 실행할 때
@RequestPart로 JSON을 받는 경우, Swagger는 이를 file로 인식해서 Content-Type: application/octet-stream으로 전송하게 되고,
이로 인해 Content-Type 'application/octet-stream' is not supported 오류가 발생한다.

2025-04-12T02:10:40.517+09:00  WARN 20456 --- [gymmate] 
[nio-8080-exec-5] .m.m.a.ExceptionHandlerExceptionResolver : 
Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: 
Content-Type 'application/octet-stream' is not supported]

이를 해결하기 위해서는 @RequestPart를 String으로 받고, 컨트롤러 내부에서 직접 JSON을 파싱하는 방식으로 변경해야 한다.

그러면 @Valid 으로 request 에 대해 검증을 진행할 수가 없다.
@RequestPart로 JSON을 받는 경우, Swagger에서 등록, 수정, 삭제에 대해서 API 실행을 할 수 없고 조회하는 것만 가능한데 괜찮은 걸까?

chatGPT 답변

실제 운영 환경에서는 대부분 API 테스트를 Postman, Insomnia, 실제 프론트엔드 연동으로 진행해.
Swagger는 문서 + 스펙 안내 도구 역할이 더 크고,
Swagger에서 실행이 안 된다고 해서 API 자체가 문제 있는 건 아니다.

결론, 지금 구조 유지 + Swagger 설명 강화 + Postman 테스트 제공

profile
조금씩 매일 성장하자

0개의 댓글