본문 바로가기
728x90
반응형

스프링182

[Spring] 로그인 구현, 쿠키 적용 지난 포스팅에 이어서 로그인을 구현해보면 아래와 같다. LoginService.java package hello.login.domain.login; import hello.login.domain.member.Member; import hello.login.domain.member.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Optional; @Service @RequiredArgsConstructor public class LoginService { private final MemberRepository memberRepository;.. 2023. 11. 13.
[Spring] 회원가입 구현 회원가입을 하려면 Member class가 있어야 한다. Member.java package hello.login.domain.member; import lombok.Data; import javax.validation.constraints.NotEmpty; @Data public class Member { private Long id; @NotEmpty private String loginId; // 로그인 ID @NotEmpty private String name; // 사용자 이름 @NotEmpty private String password; } MemberRepository.java package hello.login.domain.member; import lombok.extern.slf4j.Sl.. 2023. 11. 10.
[Spring] 로그인 처리 - 쿠키, 세션 프로젝트 설정, 홈 화면 상품 시스템에 로그인을 처리하는 시스템을 만들어보자. 먼저 로그인 하기 전, 홈 화면에서는 - 회원가입 - 로그인 버튼이 있어야 할 것이다. 로그인 후 홈 화면에서는 - 본인 이름(OO님 환영합니다.) - 상품 관리 - 로그 아웃 이 있고, 보안 요구사항은 - 로그인 사용자만 상품에 접근하고, 관리할 수 있고 - 로그인 하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동한다 회원 가입, 상품 관리 프로그램이 있다. 홈 화면 홈화면 로그인 후 회원 가입 로그인 상품 관리 프로젝트 생성은 아래의 zip 파일을 해제하여 프로젝트로 열면 된다. 프로젝트로 열고 실행하면 다음과 같다. 실행 http://localhost:8080 실행하면 HomeController 에서 /items 로 redirect .. 2023. 11. 10.
[Spring] Bean Validation - HTTP 메시지 컨버터 @Valid, @Validated 는 HttpMessageConverter(@RequestBody)에도 적용할 수 있다. ※ 참고 @ModelAttribute는 HTTP 요청 파라미터(URL 쿼리 스트링, POST Form)을 다룰 때 사용한다. @RequestBody는 HTTP Body의 데이터를 객체로 변환할 때 사용한다. 주로 API JSON 요청을 다룰 때 사용한다. ValidationItemApiController.java package hello.itemservice.web.validation; import hello.itemservice.web.validation.form.ItemSaveForm; import lombok.extern.slf4j.Slf4j; import org.springfr.. 2023. 11. 10.
[Spring] Bean Validation Form 전송 객체 분리 Form 전송 객체를 분리하기 위해, 컨트롤러와 템플릿 버전을 V4로 진행한다. https://drcode-devblog.tistory.com/551 [Spring] Bean Validation 스프링 적용 기존에 했던 것을 살리고, 새로운 버전을 적용하기 위하여 컨트롤러를 복사하여 새로운 버전을 만든다. URL 경로 변경: validation/v2/ → validation/v3/ validation/v2 디렉토리의 모든 템플릿 파일을 validati drcode-devblog.tistory.com 위의 포스팅을 참고하여 변경하면 편리하다. Form 전송 객체 분리 실무에서는 groups 를 잘 사용하지 않는데, 그 이유가 다른 곳에 있다. 바로 등록시 폼에서 전달하는 데이터가 Item 도메인 객체와 딱.. 2023. 10. 11.
[Spring] 등록, 수정 시 Bean Validation 중 Conflict가 발생하는 한계와 이를 개선한 groups Bean Validation - 한계 수정에서 검증할 때와 등록 시 요구사항이 다른 경우가 있다. 등록 시에는 타입 검증은 가격, 수량에 문자가 들어가면 검증 오류 처리 필드 검증은 상품명은 필수이고, 공백은 없어야 하며, 가격은 1,000원 이상, 1,000,000원 이하, 수량은 최대 9,999개 특정 필드의 범위를 넘어서는 검증은 가격 * 수량의 합은 10,000원 이상 이었다면 수정 시에는 등록 시에는 quantity 수량을 최대 9,999개까지 등록할 수 있지만 수정 시에는 수량을 무제한으로 변경할 수 있게끔 수정 등록 시에는 id에 값이 없어도 되지만, 수정 시에는 id값이 필수이게끔 요구사항이 있다고 할 때, Item.java를 아래와 같이 수정할 수 있다. package hello.item.. 2023. 10. 11.
728x90
반응형