Spring Boot JDBC/실습

Food리뷰 API 실습 음식점 유저

qoeka 2024. 12. 30. 17:18

 
1. 회원가입

 
빨간색 상자를 만들어 준다음 그다음에 서비스를 가서 필요한 함수를 만들어주러가면된다
 

 
 그리고 url을 SecurityConfig 와 JwtAuthenticationFilter에 적어줘야한다.
SecurityConfig는 어떤 URL에 인증과 권한이 필요한지 설정하고, JwtAuthenticationFilter는 요청이 들어올 때 JWT 토큰을 검증해 인증을 처리하기 때문이다.
 
 

userDAO역시 암호화를 위해 위 빨간상자의 멤버변수를 만들어준것이다.
 
그리고 나서 sql을 통한 함수를 작성해주면된다.
 
그리고 서비스과정이 덜끝났다면 다시 서비스과정을 마무리하고 컨트롤러로 넘어가 코드를 마무리해주면된다
 
 
왜 이렇게 썻냐면 비밀번호가 숫자로만이워졌더라도 이걸 암호화라면 이것역시 숫자이지는 않기때문이다. 다시말해 숫자로만 나온거면 그건 예측가능한 허술한 암호이거나 암호화가 되지 않았다는 말이다. 
그렇기에 저러한 조건문을 써서 확인해나가는 작업을 해나가는 것이다. 
 
 
2. 로그인

 

api명세서를 보고 맨처음 빨간 상자를 만들어준다.그 후 에 내가 필요한 함수 로그인을 위한 함수 노란 상자가 필요해져서 서비스로가서 유저 아이디를 만들것이다. 그리고 나서 남은 빨간 상자의 조건에 맞춰서 if문을 써주면된다.
 

 

앞에서 했던 실습에서 했듯 if절을 통해 조건을 설정해주는건 비슷하다. 하지만 여기서 다른건 비밀번호를 암화한다는 것이다.  이것들을 활용하기 위해서는 서비스 위로 다시 올라가 멤버변수를 만들어줘야한다.
 

 

 

어노테이션을 활용한 멤버변수를 만들어줄때 평소와 다른게 보일 것이다. 
 
PasswordEncoder는 비밀번호를 안전하게 해시 처리하거나 비교하는 데 사용되고
JwtConfig는 JWT 설정 정보를 관리하고 제공하는 데 사용한다.
 
우리는 이 두개를 UserService에 적어줄 것이다. 왜? 비밀번호 토큰만들고해야하니깐
 
이렇게 적어주고 다시 돌아가서 비밀번호 암호화를 한  후 다시 userRequset에 다시 넣어주는 코드까지 작성해주면된다.
 
 

 
 

 
result instanceof Integer는 result 변수가 Integer 타입의 객체인지 확인하는 조건문이다. 즉 result 가 숫자인지 확인한다는 뜻이다 만약 숫자면 숫자값을 저장해라 라고 한것이다. 

 


그리고 마무리로 try catch를 이용해서 DB에 저장할 return값을 정해준다. 근데 여기서 위에는 미리 만들어서 뜨지는 않지만 실상은 userDAO에는 createUser가 없어 빨간 색으로 떳을 것이다. 그럼 이렇게되면 DAO로가서 함수를 만들어주면된다.
 
 
 
3.음식점 조회
 

 

 

 

required = false 라 써주면 선택사항을 할 수 있다 원래는 true가 안보이지만 기본으로 설정되있지만 선택사항을 위해 이것을 flase라고 지정하주는 것이다.

 

 

서비스를 만들다가  DAO로 가서 만들러 가겠다.

 

 

 위 와 같이 경우의 수를 전부 써서 오버라이딩으로 만들어주고 나서 다시 서비스를 완성한 후 마무리로 컨트롤러 를 완성하면 마무리된다.