안녕하세요? 재영입니다이번에는 사용자가 회원가입 폼으로 사용자 등록을 진행할 때, 비밀번호 형식을 지정해서 안전한 비밀번호를 입력하도록 유도하고,정해진 형식의 비밀번호가 아니라면 검증을 통해 사용자에게 메시지를 보여주는 방법을 정리해보겠습니따! 저는 검증 로직 구현 및 회원가입, 로그인 기능은 모두 구현해 둔 상태였는데,비밀번호를 8자 이상 16자 이하 입력방식에서 ➡️ 영문 대문자, 영문 소문자, 숫자 중 2개를 선택 후 조합해서 비밀번호를 입력하도록 검증 로직을 추가했습니다.로직을 추가하면서 커스텀 어노테이션 안에 정규식을 추가해서 코드 가독성을 높였는데요, 커스텀 어노테이션을 설정하는 방법, 비밀번호 입력에 정규식을 도입하는 방법을 중심으로 정리해보려고 합니다. 그럼~ 시~~~작! 1...
Project
안녕하데요? 재영입니다.지금 프로젝트의 기능 개발이 어느정도 마무리되어서, 그간 개발했던 API 문서를 최종 정리해야되는 단계가 되었습니다.기획서에 필요한 API 를 적어두긴 했는데, 개발하면서 API 스펙이 변경된 부분도 있고, 명확한 문서가 있으면 좋을 것 같아서 고민했던 것이 1) Swagger 와 같은 자동화 도구를 사용한 API 문서 정리2) 그냥 노션에 API 문서를 개별적으로 정리 인데, Swagger 를 사용해보지 않기도 했고, 사용할 때 어떤 점을 유의하면서 작성해야되는지를 모르고 있다가제가 학습한 내용을 여기다가 정리해봐도 좋을 것 같아서, 이렇게 정리해봅니다. 그럼~ 시작! 1. Swagger 도구란?Swagger 는 API 문서를 자동으로 생성하고 관리할 수 있는 오픈..
안녕하딤니카? 재영입니다이제 슬슬 개인 프로젝트가 마무리되고있는데요 (5번째글인데? 벌써?이 글 내지 다음 글까지 프로젝트 개발하다가 만난 이슈 정리를 하고 마감하지 않을까... 싶습니다오늘은 JPA 의 CascadeType 설정을 잘못해서 리뷰 기능 중 리뷰 삭제가 정상적으로 진행되지 않던 문제를 해결한 건을 작성해보겠습니다 그럼~~~ 레 쭈 고 1. 문제 상황저는 지금 Spring Boot (버전 3.2.3) 와 JPA 를 사용해서 쇼핑몰 프로젝트를 개발하고 있습니다.쇼핑몰 프로젝트 중 사용자가 구매한 상품의 리뷰 관련 기능을 개발하고 있었습니다...(리뷰 작성 / 리뷰 수정 / 리뷰 삭제 / 리뷰 조회 / 리뷰 관리 / 상품 상세페이지 하단에 ajax 로 리뷰 리스트 및 리뷰 상세정보 조..
안녕방가뿡 재영입니다오늘은 스프링 시큐리티의 Principal 객체를 활용해서 인증된 사용자의 상세 정보에 접근하는 방식에 대해 알아보겠습니다이걸 왜 알아보게되었냐면... 저도알고싶지않았어요 농담이고, Principal 객체에 대해 정리하는 이유는 기존의 자체 회원가입 폼을 이용해서 가입한 사용자 (이하 일반회원, Member) 가 로그인을 한 후 이용할 수 있는 기능에구글, 네이버 로그인 API 를 사용해서 로그인한 사용자 (이하 소셜회원, SocialMember) 가 쇼핑몰의 모든 기능을 사용할 수 있도록 수정하는 과정을 진행하던 와중에, 일반회원과 소셜회원의 principal.getName() 메소드의 반환값 속성이 다른 문제를 발견하고이걸 뜯어고치던 과정이 있었습니다. 그 과정을 정리하고, 스프..
안녕하딤니카? 재영입니다 지금 프로젝트 방향은 기존의 자체 회원가입 폼을 이용해서 가입한 사용자 (이하 일반회원, Member) 과구글, 네이버 로그인 API 를 사용해서 로그인한 사용자 (이하 소셜회원, SocialMember) 이 쇼핑몰의 모든 기능을 사용할 수 있도록 수정하는 과정을 진행하고 있습니다.왜냐면 장바구니, 주문 등 로그인이 필요한 서비스의 경우, 일반회원을 기준으로 개발했고,이 기능의 개발이 다 끝난 다음에 소셜회원 로그인 기능을 추가했기 때문에, 각 기능마다 코드를 수정해줘야 했습니다. 코드의 유지보수성 향상과 중복 코드가 늘어나는 것을 방지하기 위해, 다른 유형의 사용자 엔티티를 분리해서 관리하던 것을User 인터페이스와 AbstractUser 엔티티를 생성하여 Member와 Soc..
안녕하딤니카? 재영입니다이번에는 저번 글에 이어서 소셜 로그인의 전체 프로세스를 정리해보겠습니다이 흐름을 모르고 구현하면... 이제 어디서 팡팡 터지는 미치겠는 에러를 못 잡는 경우가 있어서프로세스를 이해하고 소셜 로그인을 구현하면! 좀 더 스무스하게 구현할 수 있습니다!그럼~ 시작 - 소셜 로그인을 직접 구현하는 과정은 이전 글에서 설명해두었습니다! 이 글을 참고해주세요! Spring Boot 3.x + Spring Security 6 + OAuth2 활용한 소셜 로그인 기능 구현하기 - 쇼핑몰 개인 프로젝트 01안녕하딤니카?한참 티스토리 글을 안 올리다가 이제야 돌아왔습니다사실 쓸 글은 많았는데 우선순위로 두지 않아서 이모양 이 꼴이 되었음 ㅜ이제 프로젝트도 어느정도 정리 되었고 지금부터chuuu..
안녕하딤니카?한참 티스토리 글을 안 올리다가 이제야 돌아왔습니다사실 쓸 글은 많았는데 우선순위로 두지 않아서 이모양 이 꼴이 되었음 ㅜ이제 프로젝트도 어느정도 정리 되었고 지금부터는 티스토리에 글을 정리하면서 프로젝트를 진행해야겠다 싶어서글을 작성해봅니다... 우하하 저는 지금 개인 프로젝트로 쇼핑몰을 첨부터 만들어보고있는데여여태 뭔가 처음부터 끝까지 한 적이 없는 것 같아서혼자서 해볼까... 하고 시작했습니다 다른 기능은 무리없이 잘 개발 했는데 (폼 회원가입, 폼 로그인, 상품 등록 관리, 장바구니, 구매 이런거)어우 소셜 로그인 구현에서 좀 애를 먹었습니다 하하하 ㅜ저랑 비슷한 고충을 겪고 계신 분들이 많을 것 같아... 정리해봅니다사실 제가 나중에 볼라고 정리하는거라 두서가 상당히 없을 수 있음그..