Backend
home
🖋️

11일차

생성일
2024/07/23 16:13
태그
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음

회원가입 구현하기

사용자 정보 담고 있는 객체 작성
package com.example.msblog.dto; import lombok.Getter; import lombok.Setter; @Getter @Setter public class AddUserRequest { private String email; private String password; }
Java
복사
AddUserRequest 객체를 인수로 받는 회원 정보 추가 메서드 작성 - 서비스
package com.example.msblog.service; import com.example.msblog.domain.User; import com.example.msblog.dto.AddUserRequest; import com.example.msblog.repository.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; @RequiredArgsConstructor @Service public class UserService { private final UserRepository userRepository; private final BCryptPasswordEncoder bCryptPasswordEncoder; public Long save(AddUserRequest dto) { return userRepository.save(User.builder() .email(dto.getEmail()) // 패스워드 암호화 .password(bCryptPasswordEncoder.encode(dto.getPassword())) .build()).getId(); } }
Java
복사
회원가입 폼에서 회원 가입 요청을 받으면 서비스 메서드 사용해 사용자 저장 후 로그인 페이지로 이동하는 signup 메서드 작성
package com.example.msblog.controller; import com.example.msblog.dto.AddUserRequest; import com.example.msblog.service.UserService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; @RequiredArgsConstructor @Controller public class UserApiController { private final UserService userService; @PostMapping("/user") public String signup(AddUserRequest request) { userService.save(request); // 회원 가입 메서드 호출 return "redirect:/login"; // 회원 가입이 완료된 이후에 로그인 페이지로 이동 } }
Java
복사