Skip to content

Commit 6202801

Browse files
authored
✨ [Feat] 사용자 정보 조회 API 구현 (#92)
2 parents 4eca5a1 + e872705 commit 6202801

File tree

3 files changed

+44
-5
lines changed

3 files changed

+44
-5
lines changed

src/main/java/org/withtime/be/withtimebe/domain/member/controller/MemberController.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@
77
import lombok.RequiredArgsConstructor;
88
import org.namul.api.payload.response.DefaultResponse;
99

10-
import org.springframework.web.bind.annotation.DeleteMapping;
11-
import org.springframework.web.bind.annotation.PatchMapping;
12-
import org.springframework.web.bind.annotation.RequestBody;
13-
import org.springframework.web.bind.annotation.RequestMapping;
14-
import org.springframework.web.bind.annotation.RestController;
10+
import org.springframework.web.bind.annotation.*;
1511
import org.withtime.be.withtimebe.domain.member.converter.MemberConverter;
1612
import org.withtime.be.withtimebe.domain.member.dto.MemberRequestDTO;
1713
import org.withtime.be.withtimebe.domain.member.dto.MemberResponseDTO;
@@ -87,4 +83,11 @@ public DefaultResponse<Void> deleteMember(@AuthenticatedMember Member member) {
8783
memberCommandService.deleteMember(member.getId());
8884
return DefaultResponse.noContent();
8985
}
86+
87+
@Operation(summary = "사용자 정보 가져오는 API", description = "로그인된 사용자 정보 가져오는 API")
88+
@ApiResponse(responseCode = "200", description = "사용자 정보를 가져왔습니다.")
89+
@GetMapping("/infos")
90+
public DefaultResponse<MemberResponseDTO.MemberInfo> getMemberInfo(@AuthenticatedMember Member member) {
91+
return DefaultResponse.ok(MemberConverter.toMemberInfo(member));
92+
}
9093
}

src/main/java/org/withtime/be/withtimebe/domain/member/converter/MemberConverter.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,19 @@ public static MemberResponseDTO.ChangeInfo toChangeInfo(Member member) {
1010
.username(member.getUsername())
1111
.build();
1212
}
13+
14+
public static MemberResponseDTO.MemberInfo toMemberInfo(Member member) {
15+
return MemberResponseDTO.MemberInfo.builder()
16+
.id(member.getId())
17+
.email(member.getEmail())
18+
.username(member.getUsername())
19+
.userRank(member.getUserRank())
20+
.phoneNumber(member.getPhoneNumber())
21+
.isAuthPayment(member.getIsAutoPayment())
22+
.gender(member.getGender())
23+
.birth(member.getBirth())
24+
.role(member.getRole())
25+
.point(member.getPoint())
26+
.build();
27+
}
1328
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
11
package org.withtime.be.withtimebe.domain.member.dto;
22

33
import lombok.Builder;
4+
import org.withtime.be.withtimebe.domain.member.entity.enums.Gender;
5+
import org.withtime.be.withtimebe.domain.member.entity.enums.Role;
6+
import org.withtime.be.withtimebe.domain.member.entity.enums.UserRank;
7+
8+
import java.time.LocalDate;
49

510
public record MemberResponseDTO() {
611
@Builder
712
public record ChangeInfo(
813
String username
914
) {}
15+
16+
@Builder
17+
public record MemberInfo(
18+
Long id,
19+
String email,
20+
String username,
21+
UserRank userRank,
22+
String phoneNumber,
23+
Boolean isAuthPayment,
24+
Gender gender,
25+
LocalDate birth,
26+
Role role,
27+
Integer point
28+
) {
29+
30+
}
1031
}

0 commit comments

Comments
 (0)