1. 개발 진행 상황
30일(월): 프론트엔드에서 에러 확인 요청이 들어왔다!
이 요청이 반가울 수가ㅠㅠ 부트캠프 끝나고 다들 취업 준비로 바쁘기도 하고.. 팀원 한명은 벌써 취업이 되기도해서 진행이 우리가 처음 잡았던 계획보다 더딘감이 조금 있긴하다.. 근데 이 에러 요청이 휘몰아 치면 스트레스에 취약한 내가 너무 힘들 것이기에...
오랜만에 이 요청이 잠시 반가웠당...ㅎ
두가지 문제였는데, 첫번째 문제는 너무나도 간단한 문제....그냥 HTTP 요청을 잘못한 거여서 따로 기록할 필요도 없을 것 같고
두번째 문제는 put 요청 할 때 이미지 처리 문제였음
내가 작성한 코드는 이미지가 없으면 NullPointException을 발생시키게 예외처리를 해놓고, 이미지 파일(jpg, jpeg, png.. 등)만 받을 수 있고, 그 이미지 파일은 aws에서 제공하는 s3버킷에 저장하고 URL를 반환받아 URL로 관리를 하는 형태로 되어있음
게시글 수정을 하는 경우 글 내용만 수정하고 이미는 수정하지 않는 경우를 생각안한 것이 문제였다.
일단 이미지를 안넣으면 널포인트익셉션이 발생할 것이고, 기존에 작성한 이미지를 넣으려고 URL을 넣으면 이미지 파일이 아닌 URL 주소라서 받을 수 없는 상황이 발생하는 것...;;
31일(화): 코드 수정
문제점 파악을 했으니 코드 수정을!
@PutMapping("/{postId}")
public ResponseEntity<Object> updatePost(@PathVariable Long postId,
@RequestPart(value = "data") @Valid PostRequestDto postRequestDto,
@RequestPart(value = "image", required = false) MultipartFile image,
@AuthenticationPrincipal UserDetailsImpl userDetails) throws IOException {
//...
}
required = false로 두어 해당 필드가 없는 경우에도 nullpointException이 발생하지 않도록 하고
if (image != null) {
s3Uploader.deleteImage(imageUrl, "post/image");
imageUrl = s3Uploader.upload(image, "post/image");
}
post.update(postRequestDto, imageUrl);
새로운 이미지가 있는 경우에만 기존에 저장되어있는 이미지를 삭제하고 새로 저장되도록 코드를 수정하였다.
이미지가 적용된 다른 코드들도 살피고, 테스트 코드도 작성하였다.
1일(수): 서버 올리기
테스트 코드 작성해서 돌려보았지만... 난 그래도 아직도... 로컬 서버도 돌려보고 포스트맨도 돌려보고 다 해봐야 마음이 편안~~
해지는 그런게 있다ㅠㅠ
그래도 예전에는 테스트 코드를 아예 안썼으니까... 코드 조금 고치고 서버 돌리고 포스트맨 해보고 x 무한 반복.. 노트북은 웅웅거리면서 돌아가고... 버벅거리고 그래었는데... 테스트 코드 좀 익숙해졌다고... 테스트 코드 먼저 돌리는 나.. 제법 멋지다...ㅎ
테스트 코드를 더 잘 쓰게 된다면 완전 의존할 수 있겠지...?
그리고 서버 배포도 다 자동화 되어있어서 슝슝 금방 올렸다.
2일(목):
3일(금):
4일(토):
5일(일):
2. 새로 배운 것
3. TO-DO LIST
4. 11주차 회고
'개발 일지' 카테고리의 다른 글
[WIL] 사이드 프로젝트 주차(2월 13일 ~ 19일) (0) | 2023.02.13 |
---|---|
[WIL] 사이드 프로젝트 주차(2월 6일 ~ 12일) (0) | 2023.02.13 |
[WIL] 사이드 프로젝트 10주차(1월 23일 ~ 29일) (0) | 2023.01.25 |
[WIL] 사이드 프로젝트 9주차(1월 16일 ~ 22일) (0) | 2023.01.16 |
[WIL] 사이드 프로젝트 8주차(1월 9일 ~ 15일) (0) | 2023.01.09 |