본문 바로가기

web/Spring

(19)
컨트롤러 모든 메소드에 자동으로 포함되는 model 만들기 예시 FormItemController에 있는 모든 메소드의 모델에 "regions":regions 들어감
RestAPI와 form form의 action 속성에 값을 안주면(
checkbox와 스프링 # checkbox가 체크되면 스프링에 checkbox의 name:on으로 들어온다 해당 요소를 spring에서 boolean으로 받으면 on은 true로 치환된다 최종적으로 name=true가 된다 # 체크가 안돼있으면 필드 자체가 안온다 ex) checkbox의 name이 chocho라고 할 때, -체크함: chocho:on --> chocho=true -체크안함:(아무것도 안옴) --> chocho = null 체크안했을 때 false를 받고싶다면 chckebox name = chocho 아래에 hidden name=_chocho 만들기 thymeleaf의 th:field 사용시 신경쓸거 없게 알아서 다해줌
hhtp 요청 메세지 서버에서 보기 #application.properties logging.level.org.apache.coyote.http11=debug
카카오 로그인 구현(4) - 유저정보 알아내기 1. return값을 담을 domain 생성 @Getter @Setter @ToString public class KakaoResult { Long id; String email; String nickname; } 2. 유저정보 요청하기 //인증코드로 token요청하기 public User requestUser(String accessToken){ log.info("requestUser 시작"); String strUrl = "https://kapi.kakao.com/v2/user/me"; //request를 보낼 주소 User user = new User(); //response를 받을 객체 try{ URL url = new URL(strUrl); HttpURLConnection conn = (Http..
카카오 로그인 구현(4) - 카카오 토큰 받기 1. 토큰 받을 준비하기 response type에 맞는 domain(KakaoToken.java) 생성 @Getter @Setter @ToString public class KakaoToken { String token_type; String access_token; Integer expires_in; String refresh_token; Integer refresh_token_expires_in; String scope; } 2. 토큰 요청하기 LoginService.java 작성 requestToken 메소드는 인증코드를 인자로 받아 KakaoToken의 객체를 이용해 token을 리턴합니다. @Slf4j @Component public class LoginService { private fina..
카카오 로그인 구현(3) - 인증코드받기 1. 응답받을 View 페이지 redirectPage.html 작성 #redirectPage.html 2. Controller에 응답받을 View 페이지 mapping 등록 @Controller public class LoginController { private final LoginService loginService; public LoginController(LoginService loginService) { this.loginService = loginService; } //redirect 경로 mapping @RequestMapping("/login/kakao-redirect") public String kakaoLogin(@RequestParam(value = "code",required = f..
카카오 로그인 구현(2) - 애플리케이션 설정 1. 앱 키 확인 2. Web 플랫폼 등록(자신의 공인아이피 또는 localhost:port 입력) 3. redirect URI 등록 redirect URI = 카카오에 요청 보내면 카카오가 응답을 돌려줘야되잖아요? 그 응답을 redirect URI에 보내줍니다. 4. 동의화면 구성 5. 보안 코드 생성(생성만 하고 사용안함으로 설정해두기) 사용도 하지 않을거면서 이 과정을 거치는 이유는 이 과정을 거치지 않으면 공인ip사용시에 오류가 생길 수 있습니다. 정확한 원인이 공인아이피 사용이 아닐 수도 있는데 저는 localhost에서 공인아이피로 변경하는 과정에서 오류가 발생했고 이 과정을 거쳐서 오류를 해결할 수 있었습니다.