독학 146

Springboot 예외처리! with IllegalArgumentException

항상 가지는 고민이 있었다 예를 들어 userDto dto= dao.findByEmail(email) 했을 때 잘못된 값이 와서 null 반환된다면? 물론 try catch로 묶어서 throw new 런타임 익셉션으로 던지면 되지만 제네릭을 사용해서 dto를 널을 검사하고 null이면 예외를 던지면 어떨까...? 라는 생각을 하고 구현해봤다! 새로운 클래스를 만들었다 제네릭을 이용해서 dto 받은 다음 null이라면 예외를 일으킨다! errorRestController 테스트 전화인증 로직에서 말도 안 되는 값을 넣어놨다 완료! 사실 제네릭 한번 써보고 싶었다 ㅋㅋㅋ

Springboot 마이페이지!(3) 비밀번호 변경!

이제 비밀번호 변경을 해주자 프런트 서버는 현재 비밀번호/새 비밀번호/새 비밀번호 확인 이렇게 던져주면 된다 백엔드 서버 restController service 현재 비밀번호/새 비밀번호가 if(!passwordEncoder.matches(pwdDto.getNowPwd(), userDto.getPwd())) if(!pwdDto.getNewPwd().equals(pwdDto.getNewPwd2())) 일치하는지 검증해주고 시큐리티 비밀번호 인코더를 사용해서 새 비밀번호를 입력해주자! userDto.setPwd(passwordEncoder.encode(pwdDto.getNewPwd())); 테스트 변경 전 현재 비밀번호 불일치 유효성 4~10자 사이 3개 중 하나라도 유효성 검사를 통과하지 못하면 새 비밀..

Springboot 마이페이지!(2) 휴대폰변경하기

이제 휴대폰 변경 구현을 해보자 역시나 기존 로직을 끌어다가 사용하면 된다 https://cordingmonster.tistory.com/131?category=1041862 Springboot 인증 시스템 리팩토링!(1) with interface 이전 글 https://cordingmonster.tistory.com/108?category=1038496 Springboot Jwt+휴대폰인증!(2) 인증번호 확인 이제 인증번호가 맞는지 안 맞는지 판별해보자 프런트 js json형태로 번호/입력 전송 let dat.. cordingmonster.tistory.com https://cordingmonster.tistory.com/132?category=1041862

Springboot 마이페이지 (1) 주소변경하기!

마이페이지에서는 주소/전화/이메일 인증/비밀번호 변경이 가능하게 만들것이다 주소부터 봐 보자! 프런트 서버 그냥 회원가입 때 썼던 카카오 우편번호 서비스를 한 번 더 넣어 놓으면 된다 다시 한번 카카오에게 감사를 전합니다! restController 빨리 리액트 공부하고 싶다 백엔드+백엔드 서버통신도 아니고 참 백엔드 서버 restController service 테스트 서울대병원으로 해보자 변경 완료! 재밌다 아주

Spring boot 예외처리! with Transactional

kim's cafe에이어 kim's shop을 만드는 도중 치명적인 오류가 있었다 무려 Transactional어노테이션이 먹히지 않았다.. 아예 작동하지 않았다 UPDATE문도 던지지 않고.. 근데 업데이트야 뭐 sql문을 던지면 되지만 제일 두려운 게 rollback이었다 어노테이션 덕에 rollback을 쉽게 알아서 해주는데 그걸 사용할 수 없게 된 거 같았다.. 결론 일단 해결했다 어노테이션 위치가 잘못되어있었다 흐름은 이렇다 프런트(3030)에서 요청->(8080)으로 전달 -> controller->confrimService->senPhone함수-> sendSms함수-> updateconfrim함수 이전에 난 updateconfrim에 어노테이션을 붙여 놓았다 즉 마지막에 SET이 이뤄지는 곳..

Springboot 인증 시스템 리팩토링!(2) with interface

이전소스 https://cordingmonster.tistory.com/107?category=1038496 Spring boot Jwt+휴대폰인증!(1) with Coolsms 이제 전화인증을 구현할 건데 아임 포트를 사용하려 했으나... 다날 서비스를 신청해야 하고 다날 서비스 신청에는 사업자등록증이 필요해서 허접하지만 직접 구현했다! 1. 세션 인증을 요청-> cordingmonster.tistory.com 검증 로직을 리팩터링 했으니 이제 보내는 로직도 리팩터링 해보자! 트랜잭셔널 어노테이션을 다시 사용하였다! https://cordingmonster.tistory.com/133 Spring boot 예외처리! with Transactional kim's cafe에이어 kim's shop을 만드는..

Springboot 인증 시스템 리팩토링!(1) with interface

이전 글 https://cordingmonster.tistory.com/108?category=1038496 Springboot Jwt+휴대폰인증!(2) 인증번호 확인 이제 인증번호가 맞는지 안 맞는지 판별해보자 프런트 js json형태로 번호/입력 전송 let data=JSON.stringify({ "phoneNum":""+document.getElementById('phoneNum').value+"", "tempNum":""+document.ge.. cordingmonster.tistory.com 고민이 있었다 너무 비슷한 로직이었다 문자인증/전화인증 로직인데 둘 다 인증번호를 받아서 검사해주면 됐었다 그래서 떠오른 아이디어 아 이럴 때 인터페이스를 써볼까..? 하고 만들었다 interface ema..

Springboot Jwt+마이페이지!(1) with 정보 표시하기

마이페이지를 만들어 보자 프런트 서버 html 오스 로그인 사용 자시 비밀번호변경 링크를 표시하지 않는다 비밀번호 변경 controller userService json->dto 만들어 주는 함수이다 백엔드 서버 userService 비밀번호는 주면 안 되니 null로 해서 보내주자 restcontroller 테스트 일반 로그인 소셜 로그인 구현할게 많아졌다 주소변경부터 해보자!

Springboot Jwt+로그아웃! with 쿠키 지워주기

이제 로그아웃을 구현해 보자 프런트는 쿠키를 비워주고 백엔드는 db에서 삭제해주자 프런트 서버 js controller jwtService 자주 사용할 거 같아서 토큰 getter를 하나 만들었다 userService 서버에 db 토큰 삭제 요청 jwtService.getTOServer(request, response,token, refreshToken, url); 프런트에서 들고 있는 쿠키 null값으로 값 변경 cookieService.cookieFactory(response, cookiesNames, cookiesValues); cookieService 백엔드 서버 restcontroller userService jwtService 이전에 만들었던 함수를 조금 바꿨다 존재하지 않는 토큰이 와도 진행..

Springboot Jwt+로그인!(2) with 로그인 완료

자 이제 로그인 완료 처리를 해줄 건데 지금은 약식으로 파라미터로 던져줘서 url에 그대로 노출이 되었다 이제 쿠키를 이용해 정보를 얻어와서 넣어주자 프런트 js 로그인 성공 뒤 링크를 index로 바꿔준다 location.href='index'; controller 이메일을 얻어오는 함수이다 userService.getEmail(request, response, token, refreshToken) jwtService 쿠키 가져오기 String jwtToken=cookie.getValue(); String refreshToken=cookie2.getValue(); 서버와 통신 시도 JSONObject jsonObject=callApiService.callApi(jwtToken,refreshToken, ..