TIL

TIL_20230215

번잔중 2023. 2. 15. 23:43

오늘 할 일

  • 메인 프로젝트 리팩토링 시작 - 자유글에 이미지 여러 개 저장 기능 추가

오늘 배운 것

게시글 작성 시 이미지 첨부 + S3

  1. 이미지 여러 개 저장하기
    • 기존에는 프로필 이미지만 만들어봐서 여러 개의 이미지는 만들어본 적이 없었습니다.
    • 그래서 여러 레퍼런스를 참고한 결과! 그냥 List<MultipartFile>로 선언해서 사진 하나하나 가공한 뒤 저장하면 되더라구요... 뭔가 허무하지만 다행이었습니다. ㅎㅎ
    • 특이점은 크게 없이 S3 Service에 uploadImages() 메소드를 추가해주었습니다.
  2. 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으로 돼 있는지 확인해보시고 안돼있다면 ◦◦◦ 을 눌러서 설정하세요... (바보같은 저는 아무튼 그랬습니다...)

 

CONTENT TYPE을 항상 체크하세요...!

 

@RequestPart(value = "free") FreeDto.PostFreeBoard postFreeBoardDto,
@RequestPart(value = "files", required = false) List<MultipartFile> files

MemberMapper 코드 줄이기

  • 기존에는 중복 코드를 사용했었는데, if문 하나만 추가하면 많은 코드 라인을 지울 수 있겠다는 생각이 들었습니다.
  • 그래서 프로필 이미지 포함 여부에 따라 Response에 이미지 값을 설정해주는 방법으로 코드 길이를 줄였습니다.

logout 코드 수정

  • 이전에 작성한 코드에서 파라미터로 들어온 accessToken에 값을 재할당 하는 방식을 사용했습니다.
  • 이 방법은 코드의 가독성을 해칠 수 있겠다는 생각이 들어서 새로 변수를 생성해서 할당하고 사용했습니다.

느낀점

  • 오랜만에 키보드를 잡고 코드를 작성해보고, postman도 사용해봤는데요. 다 까먹으면 어떡하지 했었는데, 그래도 금방 이것 저것 확인해보고 동작해보면서 기억이 나네요. ㅎㅎ
  • 내일은 게시글을 이미지가 없어도 작성 가능하도록 만들어주어야 할 것 같습니다. 현재는 이미지가 없으면 Request 값이 없다는 에러가 생겨서 완벽하지 않습니다. 하나씩 다듬어가는 것도 개발의 재미네요! ㅎㅎㅎ

내일 할 일

  • 이미지 없이 자유글 작성 가능하도록 코드 수정
  • 자유글 댓글 삭제시에도 ResponseBody 넘겨주기