🚗 Backend Toy Project

    [Photogram] 해시태그 기능 추가

    게시글 업로드 시 해시태그를 추가할 수 있도록 구현해보았습니다. 추가된 해시태그는 이후 게시글 하단에 표시되게 되며 이후에 해당 태그를 이용하여 태그 검색 기능도 추가해볼 예정입니다. 📝 upload.jsp 아래 코드는 이미지 파일 업로드를 위한 폼 태그를 구현한 부분으로, 기존에 사용하던 코드입니다. 추가 업로드 우선 위 코드를 아래와 같이 수정해주었습니다. 이는 이후 추가될 해시태그 목록들을 FormData 객체에 저장하여 ajax를 통해 서버로 전송하기 위함입니다. 추가 업로드 📝 upload.js ajax 요청과 해시태그 추가, 삭제 로직은 아래와 같이 구현하였습니다. $(function() { $("#uploadBtn").on("click", function() { upload(); }); })..

    [Photogram] 로그인 실패 처리

    회원가입의 경우 유효성 검사에 실패했을 경우 사용자에게 간단하게 메시지를 보여주는 방식으로 회원가입 실패 처리를 구현해놓았지만 로그인의 경우 이러한 처리가 없어 로그인 실패 처리를 구현해주었습니다. 로그인 실패의 경우 회원가입 실패 시의 처리와는 달리 컨트롤러에서 발생하는 예외가 아닌 서비스 단에서 발생하는 예외였기 때문에 @ControllerAdvice와 @ExceptionHandler를 이용한 처리 방식으로는 제대로 동작하지 않았습니다. 따라서 SecurityConfig 클래스에 failureHandler() 메소드를 추가해줌으로써 이를 구현해주었습니다. 📝 SecurityConfig package com.cos.photogram.config; ... @RequiredArgsConstructor @E..

    [Photogram] 검색 기능 구현

    헤더 부분에 입력창을 배치하여 검색 기능을 추가해보았습니다. 추가로, 검색된 리스트에서 특정 사용자 이름을 클릭할 경우 해당 사용자의 프로필 페이지로 이동하도록 구현하였습니다. 사용자 이름을 기준으로 검색을 진행하여 해당되는 사용자 리스트를 보여줄 수 있도록 구현해보았으며, 이후 게시글의 태그 기능을 추가하여 태그를 기준으로 게시글 또한 검색할 수 있도록 구현해볼 예정입니다. 📝 Controller 먼저 컨트롤러에는 클라이언트의 요청을 전달받을 수 있도록 함수를 구현해주었습니다. 해당 함수는 사용자가 태그에 입력한 값을 전달받아 사용합니다. /* 검색 */ @GetMapping("/user/search") public String search(String search, Model model) { List..

    [스프링부트 게시판] 37. 비밀번호 찾기

    사용자가 비밀번호를 기억하지 못할 경우 이메일을 통해 임시 비밀번호를 보내주고 기존 비밀번호를 해당 임시 비밀번호로 변경하여 로그인 할 수 있도록 구현해보았습니다. 즉 임시 비밀번호가 발송되게 되면 기존 비밀번호로는 로그인 할 수 없습니다. 참고로 프로젝트에서 메일 발송을 하기 위해선 해당 포스팅에 작성된 내용 말고도 추가적으로 진행해야되는 과정이 있지만 핵심내용은 아니라고 생각하여 해당 부분은 생략하였습니다. 스프링부트 메일 전송에 대한 자세한 설명은 아래 링크에서 확인하실 수 있습니다. SpringBoot에서 SMTP를 활용한 메일 전송 구현하기 📝 SMTP란? 스프링에서는 SMTP Relay를 이용한 메일 전송 기능을 제공하고 있습니다. 여기서 SMTP는 Simple Mail Transfer Pro..