스프링과 JPA 기반 웹 어플리케이션 개발/1부 (개발환경, 회원가입, 로그인, 계정설정)31 31. 패스워드를 잊어버렸습니다. 패스워드를 잊은 경우에는 "로그인 할 수 있는 링크"를 이메일로 전송한다. 이메일로 전송된 링크를 클릭하면 로그인 한다. GET /email-login 이메일을 입력할 수 있는 폼을 보여주고, 링크 전송 버튼을 제공한다. POST /email-login 입력받은 이메일에 해당하는 계정을 찾아보고, 있는 계정이면 로그인 가능한 링크를 이메일로 전송한다. 이메일 전송 후, 안내 메시지를 보여준다. GET /login-by-email 토큰과 이메일을 확인한 뒤 해당 계정으로 로그인한다. 핸들러 작성 package me.weekbelt.studyolle.account; @RequiredArgsConstructor @Controller public class AccountController { // 기존 코드 ... 2020. 4. 22. 30. 닉네임 수정 닉네임 수정 닉네임은 특정 패턴("^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$")의 문자열만 지원 함. 중복 닉네임 확인. settings패키지 재구성 nickname 수정시 데이터를 전달 할 Nickname DTO 생성 package me.weekbelt.studyolle.settings.form; @Data public class NicknameForm { @NotBlank @Length(min = 3, max = 20) @Pattern(regexp = "^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$") private String nickname; } 올바른 nickname 입력을 검증하기위한 NicknameValidator 생성 package me.weekbelt.studyolle.settings.v.. 2020. 4. 22. 29. ModelMapper 적용 http://modelmapper.org/ ModelMapper - Simple, Intelligent, Object Mapping. Why ModelMapper? The goal of ModelMapper is to make object mapping easy, by automatically determining how one object model maps to another, based on conventions, in the same way that a human would - while providing a simple, refactoring-safe API for handli modelmapper.org 객체의 프로퍼티를 다른 객체의 프로퍼티로 맵핑해주는 유틸리티 의존성 추가 org.model.. 2020. 4. 22. 28. 알림 설정 알림 설정 특정 웹 서비스 이벤트(스터디 생성, 참가 신청 결과, 참여중인 스터디)에 대한 정보를 이메일로 받을지, 웹 알림 메시지로 받을지 선택하는 기능. 물론 둘 다 받을 수도 있음. 부트스트랩 Form 알림 설정을 전달할 Notifications DTO 작성 package me.weekbelt.studyolle.settings; @Data @NoArgsConstructor public class Notifications { private boolean studyCreatedByEmail; private boolean studyCreatedByWeb; private boolean studyEnrollmentResultByEmail; private boolean studyEnrollmentResultB.. 2020. 4. 22. 이전 1 2 3 4 ··· 8 다음