-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #50 from Gamegoo-repo/refactor/47
Refactor/47 회원 API리팩토링
- Loading branch information
Showing
60 changed files
with
653 additions
and
783 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
src/main/java/com/gamegoo/apiPayload/exception/handler/CustomUserException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.gamegoo.apiPayload.exception.handler; | ||
|
||
import org.springframework.security.core.AuthenticationException; | ||
|
||
public class CustomUserException extends AuthenticationException { | ||
public CustomUserException(String msg) { | ||
super(msg); | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
src/main/java/com/gamegoo/apiPayload/exception/handler/JWTExceptionHandlerFilter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package com.gamegoo.apiPayload.exception.handler; | ||
|
||
import com.fasterxml.jackson.databind.ObjectMapper; | ||
import com.gamegoo.apiPayload.ApiResponse; | ||
import com.gamegoo.apiPayload.code.status.ErrorStatus; | ||
import io.jsonwebtoken.JwtException; | ||
import org.springframework.web.filter.OncePerRequestFilter; | ||
|
||
import javax.servlet.FilterChain; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
import java.io.IOException; | ||
import java.util.Objects; | ||
|
||
public class JWTExceptionHandlerFilter extends OncePerRequestFilter { | ||
@Override | ||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { | ||
try { | ||
filterChain.doFilter(request, response); | ||
} catch (JwtException e) { | ||
|
||
if (Objects.equals(e.getMessage(), "Token expired")) { | ||
setErrorResponse(response, ErrorStatus.TOKEN_EXPIRED); | ||
} else if (Objects.equals(e.getMessage(), "Token null")) { | ||
setErrorResponse(response, ErrorStatus.TOKEN_NULL); | ||
} else if (Objects.equals(e.getMessage(), "No Member")) { | ||
setErrorResponse(response, ErrorStatus.MEMBER_NOT_FOUND); | ||
} else { | ||
setErrorResponse(response, ErrorStatus.INVALID_TOKEN); | ||
} | ||
} catch (IOException e) { | ||
throw new RuntimeException(e); | ||
} | ||
} | ||
|
||
private void setErrorResponse(HttpServletResponse response, ErrorStatus errorStatus) throws IOException { | ||
// 에러 응답 생성하기 | ||
ApiResponse<Object> apiResponse = ApiResponse.onFailure(errorStatus.getCode(), errorStatus.getMessage(), null); | ||
response.setStatus(errorStatus.getHttpStatus().value()); | ||
response.setContentType("application/json"); | ||
response.setCharacterEncoding("UTF-8"); | ||
new ObjectMapper().writeValue(response.getWriter(), apiResponse); | ||
} | ||
} | ||
|
14 changes: 0 additions & 14 deletions
14
src/main/java/com/gamegoo/apiPayload/exception/handler/MemberNotFoundExceptionHandler.java
This file was deleted.
Oops, something went wrong.
14 changes: 0 additions & 14 deletions
14
src/main/java/com/gamegoo/apiPayload/exception/handler/UserDeactivatedExceptionHandler.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
src/main/java/com/gamegoo/controller/member/AuthController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package com.gamegoo.controller.member; | ||
|
||
import com.gamegoo.apiPayload.ApiResponse; | ||
import com.gamegoo.dto.member.EmailCodeDTO; | ||
import com.gamegoo.dto.member.EmailDTO; | ||
import com.gamegoo.dto.member.JoinDTO; | ||
import com.gamegoo.service.member.AuthService; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import lombok.RequiredArgsConstructor; | ||
import lombok.extern.slf4j.Slf4j; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
@RestController | ||
@RequiredArgsConstructor | ||
@RequestMapping("/api/member") | ||
@Slf4j | ||
public class AuthController { | ||
private final AuthService authService; | ||
|
||
@PostMapping("/join") | ||
@Operation(summary = "회원가입 API 입니다.", description = "API for join") | ||
public ApiResponse<Object> joinMember(@RequestBody JoinDTO joinDTO) { | ||
authService.joinMember(joinDTO); | ||
return ApiResponse.onSuccess("회원가입에 성공했습니다."); | ||
} | ||
|
||
@PostMapping("/email/send") | ||
@Operation(summary = "이메일 인증코드 전송 API 입니다.", description = "API for sending email") | ||
public ApiResponse<Object> sendEmail(@RequestBody EmailDTO emailDTO) { | ||
String email = emailDTO.getEmail(); | ||
authService.sendEmail(email); | ||
return ApiResponse.onSuccess("인증 이메일을 발송했습니다."); | ||
} | ||
|
||
@PostMapping("/email/verify") | ||
@Operation(summary = "이메일 인증코드 검증 API 입니다.", description = "API for email verification") | ||
public ApiResponse<Object> verifyEmail(@RequestBody EmailCodeDTO emailCodeDTO) { | ||
String email = emailCodeDTO.getEmail(); | ||
String code = emailCodeDTO.getCode(); | ||
authService.verifyEmail(email, code); | ||
return ApiResponse.onSuccess("인증코드 검증에 성공했습니다."); | ||
} | ||
} |
39 changes: 0 additions & 39 deletions
39
src/main/java/com/gamegoo/controller/member/DeleteController.java
This file was deleted.
Oops, something went wrong.
30 changes: 0 additions & 30 deletions
30
src/main/java/com/gamegoo/controller/member/EmailController.java
This file was deleted.
Oops, something went wrong.
27 changes: 0 additions & 27 deletions
27
src/main/java/com/gamegoo/controller/member/JoinController.java
This file was deleted.
Oops, something went wrong.
28 changes: 0 additions & 28 deletions
28
src/main/java/com/gamegoo/controller/member/MemberGameStyleController.java
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.