Skip to content

Commit

Permalink
코드 리뷰 소스 정리
Browse files Browse the repository at this point in the history
  • Loading branch information
5upportPark committed Sep 20, 2024
1 parent 8e9b3ef commit 3d198f3
Show file tree
Hide file tree
Showing 11 changed files with 81 additions and 48 deletions.
1 change: 0 additions & 1 deletion src/main/java/com/pjw/retry_view/config/WebConfig.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.pjw.retry_view.config;

import com.pjw.retry_view.filter.JWTVerifyFilter;
import com.pjw.retry_view.filter.UserAuthenticateFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down
13 changes: 2 additions & 11 deletions src/main/java/com/pjw/retry_view/controller/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,15 @@
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/users")
public class UserController {
private final UserService userService;
private final UserValidator userValidator;

public UserController(UserService userService, UserValidator userValidator){
public UserController(UserService userService) {
this.userService = userService;
this.userValidator = userValidator;
}

@InitBinder
public void init(WebDataBinder binder) {
//binder.addValidators(userValidator);
}

@GetMapping
Expand All @@ -53,7 +44,7 @@ public ResponseEntity<RegistUserResponse> registUser(@RequestBody @Valid RegistU
response.setBindingErrors(bindingResult.getAllErrors());
httpStatus = HttpStatus.BAD_REQUEST;
} else {
UserDTO registUser = userService.insertUser(userReq.toUserDTO());
UserDTO registUser = userService.saveUser(userReq.toUserDTO());
response.setName(registUser.getName());
response.setLoginId(registUser.getLoginId());
response.setNickname(registUser.getNickname());
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/pjw/retry_view/dto/UserDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ public class UserDTO implements Serializable {
private Gender gender;
private String phone;
private String address;
private String role;
private String loginId;
private String password;
private String nickname;
private String type;
private Integer state;
private String refreshToken;

private String createdBy;
private ZonedDateTime createdAt;
Expand All @@ -35,11 +37,13 @@ public User toEntity(){
.gender(gender)
.phone(phone)
.address(address)
.role(role)
.loginId(loginId)
.password(password)
.nickname(nickname)
.type(type)
.state(state)
.refreshToken(refreshToken)
.createdBy(createdBy)
.createdAt(createdAt)
.updatedBy(updatedBy)
Expand All @@ -55,11 +59,13 @@ public String toString() {
", gender=" + gender +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
", role='" + role + '\'' +
", loginId='" + loginId + '\'' +
", password='" + password + '\'' +
", nickname='" + nickname + '\'' +
", type='" + type + '\'' +
", state=" + state +
", refreshToken='" + refreshToken + '\'' +
", createdBy='" + createdBy + '\'' +
", createdAt=" + createdAt +
", updatedBy='" + updatedBy + '\'' +
Expand Down
33 changes: 19 additions & 14 deletions src/main/java/com/pjw/retry_view/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,33 +18,36 @@ public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "NAME")
@Column(name = "name")
private String name;
@Column(name = "GENDER")
@Column(name = "gender")
private Gender gender;
@Column(name = "PHONE")
@Column(name = "phone")
private String phone;
@Column(name = "ADDRESS")
@Column(name = "address")
private String address;
@Column(name = "LOGIN_ID")
@Column(name = "role")
private String role;
@Column(name = "login_id")
private String loginId;
@Column(name = "PASSWORD")
@Column(name = "password")
private String password;
@Column(name = "NICKNAME")
@Column(name = "nickname")
private String nickname;
@Column(name = "TYPE")
@Column(name = "type")
private String type;
@Column(name = "STATE")
@Column(name = "state")
private Integer state;
@Column(name = "refresh_token")
private String refreshToken;


@Column(name = "CREATED_BY")
@Column(name = "created_by")
private String createdBy;
@Column(name = "CREATED_AT")
@Column(name = "created_at")
private ZonedDateTime createdAt;
@Column(name = "UPDATED_BY")
@Column(name = "updated_by")
private String updatedBy;
@Column(name = "UPDATED_AT")
@Column(name = "updated_at")
private ZonedDateTime updatedAt;

public UserDTO toDTO(){
Expand All @@ -54,11 +57,13 @@ public UserDTO toDTO(){
.gender(gender)
.phone(phone)
.address(address)
.role(role)
.loginId(loginId)
.password(password)
.nickname(nickname)
.type(type)
.state(state)
.refreshToken(refreshToken)
.createdBy(createdBy)
.createdAt(createdAt)
.updatedBy(updatedBy)
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/com/pjw/retry_view/exception/BusinessException.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.pjw.retry_view.exception;

import org.springframework.http.HttpStatus;

public abstract class BusinessException extends RuntimeException {
public abstract HttpStatus getHttpStatus();

public BusinessException() {}
public BusinessException(String message) {
super(message);
}
public BusinessException(Exception e){
super(e);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.pjw.retry_view.exception;

import org.springframework.http.HttpStatus;

public class ResourceNotFoundException extends BusinessException {
public ResourceNotFoundException(){}

public ResourceNotFoundException(String message) {
super(message);
}

public ResourceNotFoundException(Exception e){
super(e);
}

@Override
public HttpStatus getHttpStatus() {
return HttpStatus.NOT_FOUND;
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.pjw.retry_view.exception;

import java.util.function.Supplier;

public class UserNotFoundException extends RuntimeException{
public UserNotFoundException(){}
public class UserNotFoundException extends ResourceNotFoundException {
public UserNotFoundException(){
super();
}

public UserNotFoundException(String msg){
super(msg);
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/com/pjw/retry_view/filter/JWTVerifyFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;

Expand Down Expand Up @@ -34,9 +35,9 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo
}

private boolean isAllowMethod(String method){
switch(method){
case "GET","POST","PUT","DELETE": return true;
default: return false;
}
return switch (method) {
case "GET", "POST", "PUT", "DELETE" -> true;
default -> false;
};
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.pjw.retry_view.handler;

import com.pjw.retry_view.exception.BusinessException;
import com.pjw.retry_view.exception.UserNotFoundException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
Expand All @@ -10,10 +11,9 @@
// 전역 ExceptionHandler 설정
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(UserNotFoundException.class)
protected ResponseEntity<?> handle(UserNotFoundException me){
HttpStatus httpStatus = HttpStatus.UNAUTHORIZED;
final ErrorResponse errorResponse = ErrorResponse.builder(me, httpStatus, "Login Failed : User Not Found.").build();
return ResponseEntity.status(httpStatus).body(errorResponse);
@ExceptionHandler(BusinessException.class)
protected ResponseEntity<?> handle(BusinessException be){
final ErrorResponse errorResponse = ErrorResponse.builder(be, be.getHttpStatus(), be.getMessage()).build();
return ResponseEntity.status(be.getHttpStatus()).body(errorResponse);
}
}
2 changes: 1 addition & 1 deletion src/main/java/com/pjw/retry_view/service/JWTService.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public boolean validateToken(String token){
private String tokenSplit(String token){
if(token.startsWith(BEARER_TYPE)){
return token.split(" ")[1];
}else{
} else{
return token;
}
}
Expand Down
13 changes: 4 additions & 9 deletions src/main/java/com/pjw/retry_view/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,21 @@ public class UserService {

public List<UserDTO> getUserList(){
List<User> userList = userRepository.findAll();
List<UserDTO> result = userList.stream().map(user->user.toDTO()).toList();
return result;
return userList.stream().map(User::toDTO).toList();
}

public UserDTO getUserInfo(String loginId){
Optional<User> user = userRepository.findByLoginId(loginId);
return user.map(User::toDTO).orElse(null);
return user.map(User::toDTO).orElseThrow(UserNotFoundException::new);
}

public UserDTO userLogin(LoginRequest loginRequest){
User userParam = new User();
userParam.setLoginId(loginRequest.getLoginId());
userParam.setPassword(loginRequest.getPassword());
Optional<User> user = userRepository.findByLoginIdAndPassword(loginRequest.getLoginId(), loginRequest.getPassword());
return user.map(User::toDTO).orElseThrow(UserNotFoundException::new);
}

@Transactional
public UserDTO insertUser(UserDTO userDTO){
UserDTO result = userRepository.save(userDTO.toEntity()).toDTO();
return result;
public UserDTO saveUser(UserDTO userDTO){
return userRepository.save(userDTO.toEntity()).toDTO();
}
}

0 comments on commit 3d198f3

Please sign in to comment.