문제 상황
PUT 방식으로 multipart를 보냈는데, 기능 자체는 잘 돌아갔으나 테스트할 때 자꾸 오류가 생김
발생 원인
기본적으로 multipart 요청은 GET/POST만 지원한다
해결 방법
POST로 수정하였더니 돌아갔다!
리팩토링
애초에 API 설계 원칙에도 조금 어긋난 것 같아서 겸사겸사 수정했다
PUT은 특정 리소스를 갱신하는 역할을 하는데 multipart로 보내면 한번에 여러 리소스를 처리하므로 이미지 같은 경우를 PUT으로 처리하려면 이미지등에 대한 리소스 URI에 별도의 PUT 요청을 보내서 갱신하고 일반적인 폼은 따로 처리해야 한다. 라꾸라꾸 profileUpdate에서 한 URI로 PUT을 보내서 여러 리소스(회원 정보 + 이미지)를 한꺼번에 처리하려고 했으므로 PUT이 적합치 않으므로 POST로 개선해야할 것 같습니다.
관련 링크 = https://blog.outsider.ne.kr/1001
'🔥 프로젝트 > 라꾸라꾸' 카테고리의 다른 글
[설계] Image 전송과 데이터 전송 API 분리 (0) | 2023.08.13 |
---|---|
[추측] 기존 Spring Security를 적용한 상황에서 OAuth2 적용이 안 먹혔던 이유 추측 (0) | 2023.08.13 |
[오류] WebMvcTest에서 body값이 empty인 경우 (0) | 2023.08.13 |
댓글