이번 강의에서는
등록 API 서비스를 테스트해보고
Postman으로 고객(customer) 정보들을 보내보면서
회원가입 과정이 유효한지
빠르게 확인해보겠습니다
백엔드와 데이터베이스 스키마에 많은
변화를 주었기 때문입니다
첫 번째로는 Spring Boot 메인 클래스에서
웹 애플리케이션을 시작하고
Debug 옵션을 선택합니다
포트8080번에 웹 애플케이션을 시작할 것입니다
이제 Postman을 통해 유효한 고객(customer) 정보들을 보냄으로
등록 API 서비스를 시작할 수 있습니다
Postman을 보면
이게 불러오고 싶은 URL이고
여기서 포스트 메타를 수용할 것입니다
이 바디 안에서는
꼭 raw 옵션을 선택하도록 하고
드롭다운 메뉴에서 포맷은
JSON으로 선택하시기 바랍니다
보시다시피 이름들은 Customer 엔터티 클래스들의
문자열 이름을 따르는데
"name", "email", "mobileNumber", "pwd"과 "role"이 있습니다
customer 엔터티 클래스도 확인해 보면
id와 같이 똑같은 문자열 이름이어서
보낼 필요가 없습니다
데이터베이스에서 자동으로 생성되기 때문입니다
하지만 확실하게
name, email, mobileNumber, pwd, role과 같은 필드들을 보낼 땐
요청 바디 안에 있는 문자열 이름과 동일하게 보내고
createDt는 보내지 않습니다
왜냐하면 LoginController가
등록 API 서비스 메소드 안에 있는데
setDreateDt을
현재 시스템 날짜에 기반할 것이기 때문입니다
결국엔 그 날짜 값을
문자열로 변환하여 creatDt로 설정합니다
물론 원한다면 이 creatDt를
오직 날짜형식의 문자열로 만들 수 있습니다
하지만 문자열을 생성했으므로
그 날짜 값득 문자열로 변환해야 합니다
가장 기본적인 건 항상 날짜 열을 만들어 놓는 것입니다
제품 애플리케이션에서는
꼭 날짜 열을 사용하도록 하십시오
이제 서비스를 테스트할 수 있습니다
여기에 중단점을 만들겠습니다
이걸 불러오기 위함입니다
이 코드가 등록 유저 메소드 안에서 실행을 멈추는 역할을 할 겁니다
이 메소드에서는 디버그를 해줍니다
일단 비밀번호를 해시(hash)해보도록 하겠습니다
이게 우리가 제공한 원래의 비밀번호를 기반으로한
해시 비밀번호이고
다음으로는 customerRepository 클래스를
설정해줍니다
create date(날짜 생성하기)도 설정해야 합니다
그리고 마지막으로 sale 메소드를 불러와서
정보들을 데이터베이스에 저장합니다
이 중단점을 풀어주겠습니다
Postman에서 응답이 왔는데
유저 정보들이 성공적으로 등록되었다고 합니다
customer 테이블 확인하여 새 기록들이
삽입되었는지 살펴보겠습니다
여기 보시면 새로운 기록이
John Doe라는 이름으로 삽입되었고
재미있는 점은
Happy 와 John Doe 같은 비밀번호
1, 2, 3, 4, 5을 같고 있다는 것입니다
해시된 비밀번호는 서로 다르게 보입니다
그게 해싱과
BcryptPasswordEncoder (비밀번호 암호화)의 미학입니다
이로써 등록 API를 통해 새로운 고객을 등록 해봤는데
백엔드와 데이터베이스 스키마 내에 많은 변화가 있었음에도 불구하고
성공적으로 등록을 완료했습니다
적어도 API 중 하나가 잘 테스트를 통과하고
잘 작동해서 기쁩니다
한 가지 더 강조할 부분이 있습니다
여기 회원가입 버튼이 작동하지 않는 이유는
UI 클라이언트를 통한 회원가입 과정을
고의적으로 구현하지 않았기 때문입니다
왜냐하면 Angular 코드를 설명하는 데에
많은 시간을 할애하고 싶지 않습니다
Spring Security에만 집중하려고 합니다
그래서 이 Angular 앱에서
중요하고 필수인 상황들만 고려했습니다
관심이 있다면
UI 애플리케이션을 통해
언제든 회원가입을 구현할 수 있고
우리가 테스트 해본 등록 API 서비스를 불러올 수 있습니다
제가 개인적으로 Postman을 선호하는 이유는
Angular 에플리케이션을 잘 모르는 학생들에게도
유연하기 때문입니다
Postman을 사용하여
원하는 만큼 유저들을 만들 수 있습니다
그래서 이러한 방식을
제시한 것입니다
만족하셨길 바랍니다
이렇게 오늘 강의 마무리하겠습니다
다음 강의 때 뵙겠습니다
수고하셨습니다