반응형
안녕하세요. 오늘은 클라이언트-서버 통신 과정에서 발생한 오류에 대해 적어볼까 합니다.
이번 문제는 aws s3에 이미지를 저장하고 반환받은 url을 클라이언트로 반환하는 과정에서 발생하였는데요 !
Rest API의 controller에서 url을 클라이언트 측으로 String 형식으로 전달하는 과정에서 아래와 같은 예외를 맞이하게 되었습니다..(안드로이드에서의 통신은 Retrofit 라이브러리를 사용합니다.)
com.google.gson.stream.MalformedJsonException: Expected value at line 1 column 6 path $ retrofit.
구글링을 하면서 여러가지 방법을 적용해보면서 원인을 파악해 보았는데 정확한 원인을 파악할 수는 없었습니다. ㅠㅠㅠ
하지만 아래 블로그를 참고하여 JSON 포멧의 유효성과 관련한 문제라는 것으로 특정할 수 있었습니다.
임시방편으로 Spring WAS의 Controller단에서 반환하던 String 값을 Map으로 담아서 현재는 문제없이 작동하고 있는 상황입니다. 정확한 문제의 원인 또는 보편적인 해결방법이 있다면 댓글로 알려주시면 감사하겠습니다..ㅜㅜㅜㅜ
아래는 Controller의 코드입니다.
/**
* Place CRUD
*/
@PostMapping(value = "/place/image")
@ResponseBody
public Map<String, String> insertPlaceImage(@RequestParam("file") MultipartFile file) {
String str = placeService.insertPlaceImage(file); // 테스트 중 place도 같이 받아야댐
Map map = new HashMap<String, String>();
map.put("url", str);
return map;
}
감사합니다~~!! ㅎㅎㅎㅎ
'IT 프로그래밍-Server' 카테고리의 다른 글
모바일신분증 연계서비스 연동하기-1 (0) | 2023.08.16 |
---|---|
[Spring] Request Mapping시 Request Body 설정 (0) | 2020.06.04 |
AWS를 이용하여 백엔드 서버 배포하기[4/4] (0) | 2020.02.28 |
AWS를 이용하여 백엔드 서버 배포하기[3/4] (0) | 2020.02.08 |
AWS를 이용하여 백엔드 서버 배포하기[2/4] (0) | 2020.02.07 |