Skip to content

Conversation

@peanut990
Copy link
Collaborator

🔍 개요

글 작성 기능 구현 완성했어요

✨ 작업 내용

  • s3로 이미지 업로드하는 api 구현
    • "/postImage" 엔드포인트로 multipart/form-data 형태의 이미지를 받아 s3에 저장합니다.
      s3에 저장된 url을 db에 저장합니다.
      요청에 대한 응답으로 이미지의 id와 url을 반환합니다
  • 글 작성 기능 api 구현

✅ 체크리스트

  • 코드가 제대로 빌드되는지 확인했습니다.
  • 관련 테스트 케이스를 추가/수정했습니다.
  • 문서(예: README, API 문서)가 업데이트되었거나 업데이트가 필요하지 않습니다.
  • PR에 연결된 이슈가 있는 경우, 해당 이슈 번호를 링크했습니다.

🔗 관련 이슈

#4

💬 리뷰 요구사항 (option)

이미지 업로드 기능을 머지해서 글 작성 기능 코드 작성했더니 커밋이 합쳐져서 PR이 길어졌네요..;;

📎 추가 정보 (option)

모든 응답 헤더에 cors 헤더 추가

Refs: #4
- "/postImage" 를 통해 요청된 이미지를 s3에 저장
- s3 이미지 경로와 업로드 날짜를 db에 저장
- 매일 새벽 2시 기준 전날 이후로 업로드만 된 이미지 db와 s3에서 삭제

Refs: #4
변경된 반환 형식
- 이미지id <Long>
- 이미지경로 <string>

Refs: #4
- s3 관련 파일 s3 디렉토리 밑으로 이동
- 테스트 코드 엔드포인트 "/categorys" -> "categories" 로 수정

Refs: #4
- 요청 받은 DTO를 통해 게시글 저장
- 글과 해쉬태그 연관관계를 나타내는 레코드를 PostHashTag 테이블에 생성
- 미리 업로드 되어있는 이미지에 게시글Id 입력

Refs: #4
- amazonS3Client의 @primary을 통해 기본 빈으로 주입되도록 변경 (프로덕션 코드에 사용)
- S3Mock을 사용하는 테스트용 s3Client 빈 이름을 "MockS3Client"로 명시해서 테스트 코드 실행시 주입되도록 수정 (테스트 코드에 사용)

Refs: #4
- PostHashTag 생성자 변경으로 인한 테스트 코드 수정

Refs: #4
- 사용 되지 않는 @AllArgConstructor 삭제
- 생성자 단순화를 위해 빌더 패턴 제거

Refs: #4
- 의미 없는 어노테이션 제거

Refs: #4
- 글로벌 예외 핸들러에 CategoryNotFoundException, HashTagNotFoundException 예외를 다루도록 추가
@peanut990 peanut990 added the feature 기능 추가 또는 수정 label Jan 3, 2025
@peanut990 peanut990 requested a review from sapsalian January 3, 2025 15:12
@peanut990 peanut990 self-assigned this Jan 3, 2025
@vercel
Copy link

vercel bot commented Jan 3, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
starchive ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 3, 2025 3:12pm

@peanut990 peanut990 merged commit d4abef0 into develop Jan 5, 2025
3 checks passed
@peanut990 peanut990 deleted the feature/4-write-post branch January 5, 2025 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 기능 추가 또는 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants