TIL
TIL_20230215
번잔중
2023. 2. 15. 23:43
오늘 할 일
- 메인 프로젝트 리팩토링 시작 - 자유글에 이미지 여러 개 저장 기능 추가
오늘 배운 것
게시글 작성 시 이미지 첨부 + S3
- 이미지 여러 개 저장하기
- 기존에는 프로필 이미지만 만들어봐서 여러 개의 이미지는 만들어본 적이 없었습니다.
- 그래서 여러 레퍼런스를 참고한 결과! 그냥 List<MultipartFile>로 선언해서 사진 하나하나 가공한 뒤 저장하면 되더라구요... 뭔가 허무하지만 다행이었습니다. ㅎㅎ
- 특이점은 크게 없이 S3 Service에 uploadImages() 메소드를 추가해주었습니다.
- Request 받는 방법
- Dto와 form-data를 동시에 받는 방법: 두 개 다 form-data 형식으로 받습니다. 단, Dto의 경우는 text로 받아서 content-type을 application/json 타입으로 요청해주어야 문제 없이 동작합니다!
- 만약 Postman을 이용하신다면 다음과 같은 부분을 체크해보시면 좋습니다. 저는 아래에 있는 CONTENT-TYPE이 처음부터 보이지 않았습니다. 그래서 DESCRIPTION에다가 application/json을 적어두고 json 요청이 아닐 때 생기는 Required request body is missing 에러를 계속 맞이했는데요. 여러분들은 꼭 CONTENT TYPE으로 돼 있는지 확인해보시고 안돼있다면 ◦◦◦ 을 눌러서 설정하세요... (바보같은 저는 아무튼 그랬습니다...)
@RequestPart(value = "free") FreeDto.PostFreeBoard postFreeBoardDto,
@RequestPart(value = "files", required = false) List<MultipartFile> files
MemberMapper 코드 줄이기
- 기존에는 중복 코드를 사용했었는데, if문 하나만 추가하면 많은 코드 라인을 지울 수 있겠다는 생각이 들었습니다.
- 그래서 프로필 이미지 포함 여부에 따라 Response에 이미지 값을 설정해주는 방법으로 코드 길이를 줄였습니다.
logout 코드 수정
- 이전에 작성한 코드에서 파라미터로 들어온 accessToken에 값을 재할당 하는 방식을 사용했습니다.
- 이 방법은 코드의 가독성을 해칠 수 있겠다는 생각이 들어서 새로 변수를 생성해서 할당하고 사용했습니다.
느낀점
- 오랜만에 키보드를 잡고 코드를 작성해보고, postman도 사용해봤는데요. 다 까먹으면 어떡하지 했었는데, 그래도 금방 이것 저것 확인해보고 동작해보면서 기억이 나네요. ㅎㅎ
- 내일은 게시글을 이미지가 없어도 작성 가능하도록 만들어주어야 할 것 같습니다. 현재는 이미지가 없으면 Request 값이 없다는 에러가 생겨서 완벽하지 않습니다. 하나씩 다듬어가는 것도 개발의 재미네요! ㅎㅎㅎ
내일 할 일
- 이미지 없이 자유글 작성 가능하도록 코드 수정
- 자유글 댓글 삭제시에도 ResponseBody 넘겨주기