본문 바로가기
웹개발/Springboot

DB 데이터 활용하기 - 로그인 기능

by HoPpangg 2021. 6. 30.
SMALL

위 게시물과 이어지는 게시물입니다.

 

 

body에 x-www-form-urlencoded 방식으로 userid와 password를 받았을 때 데이터베이스에 해당 데이터가 있다면 

login success 를, 없다면 login fail을 출력하는 기능을 만들어봅니다.

 

userid와 password 값을 body 데이터에 request 해야하기 때문에 PostMapping을 사용해줍니다.

login 메서드는 userRepository에 정의되어 있지 않기때문에 만들어줍니다.

@Query annotation을 사용해서 데이터들을 SELECT 해줍니다.

user 테이블에 userid가 매개변수로 전달받은 userid와 같고 password가 매개변수로 전달받은 password와 같은 데이터의 행을 모두 select 해주는 쿼리문입니다. 

만약 데이터베이스에 있는 정보들이 전달됐다면 mLogin 메서드는 null 값이 아닐 것 입니다.

따라서 다시 UserController의 login 메서드로 돌아가서 if문을 보면

result 값이 null이 아니라면 login success를, null이라면 login fail을 출력하도록 합니다.

postman에서 send를 해보면

잘 실행되는 것을 볼 수 있습니다.

 

만약 JSON으로 데이터를 전달 받으려면 어떻게 해야할까요?

그럴 때는 String userid, String password를 매개변수로 받는 것이 아니라 

User 오브젝트를 매개변수로 받아야 합니다. 

 

@RequestBody annotation을 이용해서 JSON으로 전달된 데이터를 User 오브젝트로 받을 수 있도록 해줍니다.

mLogin에 전달 하는 매개변수 또한 수정해줍니다.

다시 postman을 통해서 전송해보면

잘 작동되는 것을 볼 수 있습니다.

보통 매개변수로 받은 user의 데이터베이스에서 가져온 데이터를 활용하는 변수는 userEntity라고 이름 지어줍니다.

 

728x90
LIST

'웹개발 > Springboot' 카테고리의 다른 글

DB 데이터 활용하기 - delete, update  (0) 2021.06.30
DB데이터 활용하기 - save, select  (0) 2021.06.29
STS툴에 MariaDB 연동하기  (0) 2021.06.28

댓글