From db6d3f9e5146b48e980339d7e979f45fda0f0429 Mon Sep 17 00:00:00 2001 From: "chosw1002@naver.com" Date: Sun, 11 Feb 2024 22:08:38 +0900 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=EC=96=B4=EB=93=9C=EB=AF=BC=20contr?= =?UTF-8?q?oller=20=EB=AC=B8=EC=84=9C=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gdsc/domain/member/api/AdminMemberController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/gdschongik/gdsc/domain/member/api/AdminMemberController.java b/src/main/java/com/gdschongik/gdsc/domain/member/api/AdminMemberController.java index 7f7a77de1..a0c77173f 100644 --- a/src/main/java/com/gdschongik/gdsc/domain/member/api/AdminMemberController.java +++ b/src/main/java/com/gdschongik/gdsc/domain/member/api/AdminMemberController.java @@ -4,6 +4,8 @@ import com.gdschongik.gdsc.domain.member.dto.request.MemberQueryRequest; import com.gdschongik.gdsc.domain.member.dto.request.MemberUpdateRequest; import com.gdschongik.gdsc.domain.member.dto.response.MemberFindAllResponse; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; @@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Tag(name = "Admin Member", description = "어드민 회원 관리 API입니다.") @RestController @RequestMapping("/admin/members") @RequiredArgsConstructor @@ -24,18 +27,21 @@ public class AdminMemberController { private final MemberService memberService; + @Operation(summary = "전체 회원 목록 조회", description = "전체 회원 목록을 조회합니다.") @GetMapping public ResponseEntity> getMembers(MemberQueryRequest queryRequest, Pageable pageable) { Page response = memberService.findAll(queryRequest, pageable); return ResponseEntity.ok().body(response); } + @Operation(summary = "회원 탈퇴", description = "회원을 탈퇴시킵니다.") @DeleteMapping("/{memberId}") public ResponseEntity withdrawMember(@PathVariable Long memberId) { memberService.withdrawMember(memberId); return ResponseEntity.ok().build(); } + @Operation(summary = "회원 정보 수정", description = "회원 정보를 수정합니다.") @PutMapping("/{memberId}") public ResponseEntity updateMember( @PathVariable Long memberId, @Valid @RequestBody MemberUpdateRequest request) { From 3f890463cd0d6d5eba1c7a736a62ba55d60f96cc Mon Sep 17 00:00:00 2001 From: "chosw1002@naver.com" Date: Sun, 11 Feb 2024 22:43:16 +0900 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20request=20dto=20=EB=AC=B8=EC=84=9C?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/request/MemberQueryRequest.java | 18 ++++++++------ .../dto/request/MemberUpdateRequest.java | 24 +++++++++++++------ 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberQueryRequest.java b/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberQueryRequest.java index c88c77670..03206a992 100644 --- a/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberQueryRequest.java +++ b/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberQueryRequest.java @@ -1,10 +1,14 @@ package com.gdschongik.gdsc.domain.member.dto.request; +import static com.gdschongik.gdsc.global.common.constant.RegexConstant.*; + +import io.swagger.v3.oas.annotations.media.Schema; + public record MemberQueryRequest( - String studentId, - String name, - String phone, - String department, - String email, - String discordUsername, - String discordNickname) {} + @Schema(description = "학번", pattern = STUDENT_ID) String studentId, + @Schema(description = "이름") String name, + @Schema(description = "전화번호", pattern = PHONE) String phone, + @Schema(description = "학과") String department, + @Schema(description = "이메일") String email, + @Schema(description = "discord username") String discordUsername, + @Schema(description = "커뮤니티 닉네임", pattern = NICKNAME) String discordNickname) {} diff --git a/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberUpdateRequest.java b/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberUpdateRequest.java index d834c0772..6b0031927 100644 --- a/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberUpdateRequest.java +++ b/src/main/java/com/gdschongik/gdsc/domain/member/dto/request/MemberUpdateRequest.java @@ -2,15 +2,25 @@ import static com.gdschongik.gdsc.global.common.constant.RegexConstant.*; +import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; public record MemberUpdateRequest( - @NotBlank @Pattern(regexp = STUDENT_ID, message = "학번은 " + STUDENT_ID + " 형식이어야 합니다.") String studentId, - @NotBlank String name, - @NotBlank @Pattern(regexp = PHONE, message = "전화번호는 " + PHONE + " 형식이어야 합니다.") String phone, - @NotBlank String department, - @NotBlank @Email String email, - @NotBlank String discordUsername, - @NotBlank @Pattern(regexp = NICKNAME, message = "닉네임은 " + NICKNAME + " 형식이어야 합니다.") String nickname) {} + @NotBlank + @Pattern(regexp = STUDENT_ID, message = "학번은 " + STUDENT_ID + " 형식이어야 합니다.") + @Schema(description = "학번", pattern = STUDENT_ID) + String studentId, + @NotBlank @Schema(description = "이름") String name, + @NotBlank + @Pattern(regexp = PHONE, message = "전화번호는 " + PHONE + " 형식이어야 합니다.") + @Schema(description = "전화번호", pattern = PHONE) + String phone, + @NotBlank @Schema(description = "학과") String department, + @NotBlank @Email @Schema(description = "이메일") String email, + @NotBlank @Schema(description = "discord username") String discordUsername, + @NotBlank + @Pattern(regexp = NICKNAME, message = "닉네임은 " + NICKNAME + " 형식이어야 합니다.") + @Schema(description = "커뮤니티 닉네임", pattern = NICKNAME) + String nickname) {}