Skip to content

Commit

Permalink
[fix] #5 ResponseDto Builder 패턴 삭제 및 커스텀 에러 핸들링 추가, Service와 Controll…
Browse files Browse the repository at this point in the history
…er 수정
  • Loading branch information
dogsub committed Jan 18, 2025
1 parent 39e3b18 commit afe3416
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/api/members")
Expand All @@ -33,11 +32,9 @@ public class MemberController {
@ApiResponse(responseCode = "500", description = "서버 에러")
})
@PostMapping("/signup")
public ResponseEntity<GlobalResponseDto<MemberResponseDto>>
createMember(
@Valid @RequestBody MemberRequestDto requestDto) {
Member saved = memberService.createMember(requestDto);

public ResponseEntity<GlobalResponseDto<MemberResponseDto>> createMember(
@Valid @RequestBody MemberRequestDto requestDto) {
memberService.createMember(requestDto); // 반환값 사용 X -> 추후 OAuth2 구현하면서 변동 가능성 O
return ResponseEntity.status(HttpStatus.OK).body(GlobalResponseDto.success());
}

Expand All @@ -50,9 +47,8 @@ public class MemberController {
@ApiResponse(responseCode = "500", description = "서버 에러")
})
@PostMapping("/login")
public ResponseEntity<GlobalResponseDto<String>>
login(
@RequestBody LoginRequestDto loginRequest) {
public ResponseEntity<GlobalResponseDto<String>> login(
@RequestBody LoginRequestDto loginRequest) {
// 로그인 로직 → 토큰 발급
String token = memberService.login(loginRequest);

Expand Down Expand Up @@ -81,10 +77,8 @@ public ResponseEntity<GlobalResponseDto<List<MemberResponseDto>>> findAllMembers
@ApiResponse(responseCode = "500", description = "서버 에러")
})
@GetMapping("/{userId}")
public ResponseEntity<GlobalResponseDto<MemberResponseDto>>
findMemberById(
@PathVariable Long userId) {
MemberResponseDto memberResponse = memberService.findMemberById(userId);
return ResponseEntity.ok(GlobalResponseDto.success(memberResponse));
public ResponseEntity<GlobalResponseDto<MemberResponseDto>> findMemberById(
@PathVariable Long userId) {
return ResponseEntity.ok(GlobalResponseDto.success(memberService.findMember(userId)));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,22 @@ public class MemberResponseDto {
private MemberStatus status;

@Builder
private MemberResponseDto(Long id, String email, String name, MemberRole role, MemberStatus status) {
this.id = id;
this.email = email;
this.name = name;
this.role = role;
this.status = status;
}

public static MemberResponseDto from(Member member) {
MemberResponseDto responseDto = new MemberResponseDto();
responseDto.id = member.getId();
responseDto.email = member.getEmail();
responseDto.name = member.getName();
responseDto.role = member.getRole();
responseDto.status = member.getStatus();
return responseDto;
return MemberResponseDto.builder()
.id(member.getId())
.email(member.getEmail())
.name(member.getName())
.role(member.getRole())
.status(member.getStatus())
.build();
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class MemberService {
// [회원가입 관련] - 이미 존재하는 이메일인지 검사 + Member 엔티티 생성 + DB저장 및 반환
public Member createMember(MemberRequestDto requestDto) {
if (memberRepository.findByEmail(requestDto.getEmail()).isPresent()) {
throw new CommonException(ErrorCode.MEMBER_ALREADY_EXISTS);
throw new CommonException(ErrorCode.EMAIL_ALREADY_EXISTS);
}

Member member = Member.createUser(
Expand Down Expand Up @@ -54,7 +54,7 @@ public List<MemberResponseDto> findAllMembers() {
}

// [단일 회원 조회]
public MemberResponseDto findMemberById(Long userId) {
public MemberResponseDto findMember(Long userId) {
Member member = memberRepository.findById(userId)
.orElseThrow(() -> new CommonException(ErrorCode.USER_NOT_FOUND));
return MemberResponseDto.from(member);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/wedit/weditapp/global/error/ErrorCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ public enum ErrorCode {
//회원
LOGIN_FAIL(401, "LOGIN_FAIL", "로그인에 실패하였습니다."),
USER_NOT_FOUND(404, "USER_NOT_FOUND", "유저를 찾을 수 없습니다."),
MEMBER_ALREADY_EXISTS(409, "MEMBER_ALREADY_EXISTS", "이미 가입된 이메일입니다."),
MEMBER_ALREADY_EXISTS(409, "MEMBER_ALREADY_EXISTS", "이미 존재하는 회원입니다."),
EMAIL_ALREADY_EXISTS(409, "EMAIL_ALREADY_EXISTS", "이미 가입된 이메일입니다."),
DUPLICATE_NICKNAME(409, "NICKNAME_ALREADY_EXISTS", "이미 존재하는 닉네임입니다."),

//작업
Expand Down

0 comments on commit afe3416

Please sign in to comment.