SpringBoot/spring 프로젝트 만들기
SpringBoot [스프링부트] 시작하기(7) ArgumentResolver 만들기
SpringBoot [스프링부트] 시작하기(7) ArgumentResolver 만들기
2022.01.15전 시간에 Controller에서 Session을 가져오는 데 있어서 중복 코드가 있었습니다. 해당 코드를 ArgumentResolver로 해결해보겠습니다. ArgumentResolver란? 컨트롤러의 메소드의 인자로 사용자가 임의의 값을 전달하는 방법을 제공할 때 사용합니다. 저희가 활용할 부분은 세션에 저장되어 있는 것을 메소드의 파라미터로 넘겨주는 역할을 하게 됩니다. 1. argumentresolver 패키지 먼저 만듭니다. SessionConst와 SessionDto를 사용하므로 Dto에 있던 것을 옮겨줍니다. 2. ArgumentResolver에 사용될 LoginUser Annotation만들기 @Target(ElementType.PARAMETER) @Retention(RetentionPoli..
SpringBoot [스프링부트] 시작하기(6) MemberController 만들기
SpringBoot [스프링부트] 시작하기(6) MemberController 만들기
2022.01.15UserController를 만들었던 거 처럼 MemberController를 만들겠습니다. 1. MemberController Controller위에 @RequestMapping("member")을 주면 모든 메소드에 적용됩니다. /member/~~이런식으로 식별됩니다. @PostMapping("/request/{teamId}") public Long requestTeam(@PathVariable(name = "teamId")Long teamId,HttpServletRequest request){ HttpSession session = request.getSession(false); SessionDto sessionUser = (SessionDto) session.getAttribute(SessionC..
SpringBoot [스프링부트] 시작하기(5) Member 관련 완성하기
SpringBoot [스프링부트] 시작하기(5) Member 관련 완성하기
2022.01.15Member는 ROLE이라는 Enum으로 나누어진 User이므로 UserRository를 사용합니다. 1. MemberService에서 사용될 TeamRepository, RequestTeamRepsitory먼저 만들어줍니다. public interface RequestTeamRepository extends JpaRepository { } public interface TeamRepository extends JpaRepository { } 2. MemberService, MemberServiceImpl에서 필요로 하는 로직 먼저 살펴봅시다. Member는 팀에 가입 요청을 할 수 있다. (단 한 팀에게 한 번 요청할 수 있다.) Member는 가입요청 한 것을 취소할 수 있다. Member는 팀을 탈..
SpringBoot [스프링부트] 시작하기(4) RestController, RestControllerAdvice,ExceptionHanlder Restful API 예외 처리
SpringBoot [스프링부트] 시작하기(4) RestController, RestControllerAdvice,ExceptionHanlder Restful API 예외 처리
2022.01.14앞서 UserRepostory, UserService, test작성, 예외 클래스를 만들었습니다. 이제 Controller와 예외가 터졌을 때 클라이언트에게 예외에 대한 내용을 알려줄 수 있도록 ControllerAdvice, ExceptionHandler를 알아보겠습니다. 1. UserController @RestController @RequiredArgsConstructor public class UserController { private final UserService userService; @PostMapping("/signup") public ResponseEntity signup(@RequestBody UserDto.SignupDto signupDto){ userService.signup(s..
SpringBoot [스프링부트] 시작하기(3) User Repository, Service, test 작성
SpringBoot [스프링부트] 시작하기(3) User Repository, Service, test 작성
2022.01.14User Entity는 회원가입을 할 때 ROLE(역할)이 나눠지며 해당 역할에 따라 이용할 수 있는 Service가 다릅니다. 먼저 회원가입과 로그인에 관한 Repository와 Service, 예외 클래스를 만들겠습니다. 1. 패키지들 먼저 만들어줍니다. dto는 API를 통신하며, 사용될 객체가 속하는 패키지입니다. exception은 로직을 수행하며 예외가 발생했을 때 처리하는 객체가 담긴 패키지입니다. 2. UserRepository public interface UserRepository extends JpaRepository { Optional findByEmail(String email); } JPA를 사용하므로 JpaRepository를 상속합니다. JpaRepository를 상속받으면 ..
SpringBoot [스프링부트] 시작하기(2) Entity 설계
SpringBoot [스프링부트] 시작하기(2) Entity 설계
2022.01.14클래스 다이어그램을 보며 엔티티를 만들겠습니다. 1. league 패키지 밑에 domain 패키지를 만들어줍니다. 2. User 객체를 만들고 아래와 같이 작성해줍니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") private Long id; @Column(name = "email") private String email; @Column(name = "password") private String password; @Column(name = "use..