본문 바로가기
320x100

Projects38

네이버 로그인 API 등록 오늘은 네이버 로그인 API를 등록해 보았다. 저번에 고생하면서 확장성 있게 만들어 놨기 때문에 네이버 로그인 API는 상당히 쉽게 등록할 수 있었다. 먼저 네이버 로그인 뒤 developers.naver.com/apps/#/register이곳에 방문하여 서비스를 등록해줘야 한다. 내 경우는 필요한 것이 닉네임과 이메일 주소밖에 없기 때문에 필수 항목에 이메일과 별명만 체크하였다. 그리고 아래의 서비스 URL 은 자신의 도메인(여기서는 개발중이므로 localhost:8080 으로 등록)과 Callback URL을 등록해준다. Callback URL은 구글 로그인 API를 등록할떄의 Redirection URL과 같은 역할이다. 등록을 마치고 나면 이렇게 ClientID와 Client Secret 키를 얻.. 2021. 1. 24.
중복 코드 제거, MySQL 연동 먼저 컨트롤러에서 세션을 가져올 때마다 SessionUser user = (SessionUser) httpSession.getAttribute("user"); 이 코드를 사용한다면 상당히 번거로울 것이다. 따라서 파라미터에서 자동으로 가져올 수 있도록 설정한다. LoginUser 어노테이션을 생성해주고, ElementType을 PARAMETER로 설정해준다. package com.david.matjipfind.config.auth; import com.david.matjipfind.config.auth.dto.SessionUser; import lombok.RequiredArgsConstructor; import org.springframework.core.MethodParameter; import or.. 2021. 1. 22.
유저 키워드 기억 기능, 기타 버그 수정 먼저 유저 키워드 기능을 구현하기 위해 saveKeyword 함수를 saveData 로 변경하고 위치 정보도 함께 가져왔다. position 파라미터를 가져와서 문자열로 변환 후 같이 넘겨준다. 매핑 주소도 data로 바꿨다. 컨트롤러에서는 키워드 저장을 위한 savePosition함수를 호출해준다. 매개변수는 id와 position이다. 서비스 객체에 위치를 저장하기 위한 로직을 만든다. 키워드를 저장하기 위한 로직과 완전히 같다. 이렇게 구성하고 검색을 시도한 뒤 DB를 살펴보면 이런 식으로 좌표정보가 저장되어 있다. (위도, 경도) 이를 가져와서 실제로 지도에 넣기 위한 코드이다. 일단 그냥 가져오게 되면 "(위도, 경도)" 의 형태인 문자열이기 때문에, split을 통해 위도와 경도를 분리해주고,.. 2021. 1. 21.
Ajax를 이용한 최근키워드 실시간 DB저장 기능 키워드를 통한 검색시 Ajax를 이용하여 실시간으로 새로고침하지 않고(비동기) DB에 정보를 저장하고, 나중에 다시 로그인 시 DB에서 정보를 가져와서 띄워주는 기능을 구현한다. 먼저 mainController에서 세션에 저장된 여려가지 유저 정보를 가져온다. 그리고 UserRepository에 최근 키워드를 가지고 오기 위한 set 메서드 추가 UserService 객체를 생성해서 saveKeyword 메서드를 작성한다. Controller로부터 id와 keyword를 받아와서, id 를 통해 User 객체를 가져오고, 키워드를 저장한 뒤 레포지토리의 save 메서드를 사용해 update 해준다. 그리고 세션의 user 를 갱신해 준다. 컨트롤러에서는 해당 Service의 메서드를 호출해 준다. Aja.. 2021. 1. 20.