본문 바로가기
320x100

Projects/matjipfind17

중복 코드 제거, 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.
Google 로그인 기능과 DB 제작 OAuth2.0 을 이용하여 구글 로그인 기능을 구현하고, DB를 설계하여 제작할 것이다. 먼저 Google Cloud Platform에 가입하여 API 등록을 하고 Client Key 를 가져와 준다. 이는 Spring Boot 카테고리에 자세한 설명이 있다. 일단 기능을 먼저 따라 구현해보기 위해 이전에 학습했던 책에서 나온 코드를 많이 이용할 것이다. 필요한 dependencies 등록. 편의를 위해 롬복도 등록해준다. application-oauth.properties를 추가하고 필요한 정보 기입. 그후 application.properties 에 h2 DB와 oauth 설정파일을 사용하기 위한 설정을 넣어준다. User Entity를 만들 것이다. DB는 간단하게 이렇게 필요한 정보만 이용해서 .. 2021. 1. 18.