가입(signup)
SignupDto
@Data
public class SignUpDto {
private String name;
private String username;
private String email;
private String password;
}
AuthController
객체 필드 주입(DI)
@Autowired
private UserRepository userRepository;
@Autowired
private RoleRepository roleRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@PostMapping("/signup")
public ResponseEntity<String> registerUser(@RequestBody SignUpDto signUpDto){
// 유저네임 체크
if(userRepository.existsByUsername(signUpDto.getUsername())) {
return new ResponseEntity<>("사용할수 없는 유저네임 입니다.", HttpStatus.BAD_REQUEST);
}
// 이메일 체크
if(userRepository.existsByEmail(signUpDto.getEmail())) {
return new ResponseEntity<>("사용할수 없는 이메일 입니다.", HttpStatus.BAD_REQUEST);
}
User user = new User();
user.setName(signUpDto.getName());
user.setUsername(signUpDto.getUsername());
user.setEmail(signUpDto.getEmail());
user.setPassword(passwordEncoder.encode(signUpDto.getPassword()));
Role roles = roleRepository.findByName("ROLE_ADMIN").get();
user.setRoles(Collections.singleton(roles));
userRepository.save(user);
return new ResponseEntity<>("성공적으로 가입했습니다.",HttpStatus.OK);
}
유저네임이나 이메일이 등록되어 있을 경우
Author And Source
이 문제에 관하여(가입(signup)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@drv98/가입signup저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)