인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

retrofit을 사용한 통신 시 content type 관련하여 문의

작성

·

59

0

안녕하세요. 강의에 없는 내용이지만, 검색을 며칠 째 하고 있으나 해결방법을 못 찾아서 이렇게 문의드립니다. 양해부탁드립니다..

 

flutter에서 retrofit을 사용하여 multipartforamdata 형식의 api를 호출할 때, application/json으로 보내야 하는 객체는 content type을 어떻게 지정해주어야 하는 걸까요?

 

springBoot와 flutter로 개발 진행 중이고, api와 flutter는 각각 아래와 같이 작성하였습니다.

// api
@PostMapping(path = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void temp(@RequestPart TempReq, @RequestPart List<MultipartFile> files) {
  // 생략
}

// flutter에서 api 호출부
  @POST('')
  @MultiPart()
  Future<void> temp(@Part() TempReq req, @Part() List<MultipartFile> files);

flutter에서 api 호출 시 content type 'application/octet-stream' not supported 에러가 발생합니다.

postman이나 swagger로 테스트 했을 땐 정상적으로 동작하는 걸 보면 api 문제는 아닌듯합니다.

flutter에서 호출할 때도 files는 잘 들어오는데, TempReq 객체를 받을 때가 문제인 듯합니다. @Part 안에 content type을 application/json으로 지정해보았는데도 동일한 에러가 발생합니다.

 

 

 

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

프론트엔드에서 해결하려고 생각할게 아니라 백엔드에서 어떤 타입으로 데이터가 받아와지는지, 왜 Postman에서는 되고 작성하신 코드에선 안되는지 디버깅 해보셔야 할 듯 합니다.

만약에 multipart로 잘 보내지고 있다면 오히려 서버쪽 코드 수정하는게 맞지 않을까요?

content type에 대한 질문은 잘 이해 못하겠습니다. multipart로 보내거나 json으로 보내거나 둘중 하나인데 둘 다는 원래 불가능합니다.

감사합니다!

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기