hufscheer / spectator-server

7 stars 0 forks source link

[FEAT] 리그팀 생성 #160

Closed Jin409 closed 4 months ago

Jin409 commented 4 months ago

🌍 이슈 번호

📝 구현 내용

🍀 확인해야 할 부분

S3 Presigned Url

리그팀 이미지 업로드 시에 굳이 서버에 용량이 큰 이미지를 넘기지 않고, 버킷에 직접적으로 파일을 업로드할 수 있도록

  1. 클라이언트가 Presigned Url 요청
  2. 서버가 Presigned Url 부여
  3. 해당 Presigned Url 로 직접 클라가 접근하여 이미지 업로드
    로 플로우를 생각했습니다.
    Presigned Url 생성 시 UUID 를 이용해서 filePath 가 생성됩니다. 따라서 Presigned Url 은 다음과 같은 형태로 생성됩니다. https://hufscheer-images.s3.ap-northeast-2.amazonaws.com/UUID 로 생성된 파일명?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240709T163754Z&...

위의 url 에서 쿼리 파라미터 부분을 모두 제외하고 DB 에 저장하면 되므로 프론트에서는 presigned url 을 얻어 이미지를 업로드 한 뒤에 해당 url 을 리그팀 등록 시의 request 에 보내면 될 것이라고 생각했습니답

LeagueTeamServiceTest

LeagueTeamServiceTest 에서 실제로 객체가 등록되었는지 테스트하기 위해서 LeagueTeamRepository 에 findByLeagueAndName 메서드를 추가했습니다. 테스트를 위해서 레포지토리에 메서드를 추가하는 게 맞는지에 대한 확신이 서지 않습니다. 🤔 의견 주시면 감사하겠습니당

엔드포인트

/leagues/{leagueId}/teams 기존에 논의했던 엔드포인트 앞에 권한 검사를 위해 /manager 를 붙였습니다. 어떻게 생각하시는지 궁금해욥