Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat : 전체 캐릭터 조회 API 개발 #23

Merged
merged 5 commits into from
Jul 9, 2024

Conversation

jsilver01
Copy link
Member

@jsilver01 jsilver01 commented Jul 9, 2024

요약 (Summary)

스크린샷 2024-07-10 오전 12 18 28
  • 위의 사진과 같은 전체 캐릭터 조회를 위한 API 구현하였습니다.
  • 명세서대로 구현하였습니다. api 명세서
  • 이 api 가 회원가입시에 한번, 캐릭터 수정 시에 한번 정도 사용될 것 같아서 헤더에 토큰이 없더라도 조회할 수 있도록 구현하였습니다.

🔑 변경 사항 (Key Changes)

  • GetAvatarAllResponse 작성 : Avatar 객체와 Color 객체를 리스트로 반환해줄 response dto 작성하였습니다. request 는 필요하지 않아서 작성하지 않았습니다.
  • SecurityConfig 수정 : 이 api 도 위에 요약에 작성되어있듯이 헤더에 토큰이 없더라도 접근가능해야할 것 같아서 인증을 요구하지 않는 api 로 구현하였습니다.
  • Repository 의 @Tranactional 어노테이션 삭제 : 레포지토리에 작성되어있던 트랜잭션 어노테이션을 지우고 서비스코드로 옮겨두었습니다.
  • MemberController.getAvatarAll, MemberService.getAvatarAll 작성 : get 메소드라서 특이사항은 없습니다. 서비스코드에서 조회할 때에 avatar 한번, color 한번 총 두번 select 문으로 조회하도록 구현하였습니다.

📝 리뷰 요구사항 (To Reviewers)

  • 명세서대로 반환이 되는지
  • 헤더에 토큰이 없어도 문제가 안되는지
  • 적절한 반환 방식인지 같이 고민해주기
  • 쿼리문의 갯수가 괜찮은지 확인해주기

확인 방법

❗️application-local.yml 을 로컬 환경에 맞춰주세요

use linkode;

INSERT INTO avatar (created_at, modified_at, avatar_img, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', 'img1.png', 'ACTIVE');
INSERT INTO avatar (created_at, modified_at, avatar_img, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', 'img2.png', 'ACTIVE');
INSERT INTO avatar (created_at, modified_at, avatar_img, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', 'img3.png', 'ACTIVE');
INSERT INTO avatar (created_at, modified_at, avatar_img, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', 'img4.png', 'ACTIVE');

INSERT INTO color (created_at, modified_at, hex_code, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '헥스코드1', 'ACTIVE');
INSERT INTO color (created_at, modified_at, hex_code, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '헥스코드2', 'ACTIVE');
INSERT INTO color (created_at, modified_at, hex_code, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '헥스코드3', 'ACTIVE');
INSERT INTO color (created_at, modified_at, hex_code, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '헥스코드4', 'ACTIVE');
INSERT INTO color (created_at, modified_at, hex_code, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '헥스코드5', 'ACTIVE');

를 실행시켜주세요. 그 다음 다음의 api 요청을 아무런 헤더를 포함하지않고서 단독으로 요청보내주세요.

http://localhost:8080/user/avatar/all
스크린샷 2024-07-10 오전 12 34 45

사진처럼 리스트로 반환되면 정상입니다!

@Mouon
Copy link
Member

Mouon commented Jul 9, 2024

수고하셨습니다.

리스트를 객체로 감싸서 api스팩의 확장성을 보장한것이 좋았습니다.

쿼리문도 두개로 정말 필요한 쿼리만 발생한것 같아 좋았습니다.

토큰없이 명세서 대로 반환된 점 좋았습니다!

@Mouon Mouon merged commit 3ccfda2 into develop Jul 9, 2024
@jsilver01 jsilver01 deleted the LINKODE-31-BE-전체캐릭터조회 branch July 15, 2024 13:22
@Mouon Mouon added the Feature Make Feat label Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Make Feat
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants