React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 4
2024. 7. 16. 18:05ㆍReact
로그인 + 로그아웃 기능 추가하기
로그인
todo-mapper.xml 파일 구문 추가
<select id="login">
SELECT * FROM TODO_MEMBER WHERE ID = #{id} AND PW = #{pw}
</select>
TodoService 구문 추가
//방법 1
//TodoMember login(String id, String pw);
//방법 2
Map<String, Object> login(TodoMember todoMember);
//두 가지 중 하나 추가
TodoServiceImpl 구문 추가
/*
방법 1
@Override
public TodoMember login(String id, String pw) {
return todoMapper.login(id, pw);
}
*/
//방법 2
@Override
public Map<String, Object> login(TodoMember todoMember) {
TodoMember loginMember = todoMapper.login(todoMember);
Map<String, Object> map = new HashMap<>();
map.put("loginMember", loginMember);
return map;
}
//둘 중 하나 구문 추가
TodoMapper 구문 추가
//방법 1
//TodoMember login(@Param("id") String id, @Param("pw") String pw);
//방법 2
TodoMember login(TodoMember todoMember); //해도 됨
//둘 중 하나 추가
TodoController 구문 추가
/*
방법 1
@PostMapping(value="/login")
public TodoMember login(@RequestBody Map<String, String> login) {
String id = login.get("id");
String pw = login.get("pw");
return todoService.login(id, pw);
}
*/
//방법 2
@PostMapping("/login")
public Map<String, Object> login(@RequestBody TodoMember todoMember){
return todoService.login(todoMember);
}
TodoList.js
import React from "react";
function TodoList(){
return (
<div>
<h1>할 일 목록 보기</h1>
</div>
)
}
export default TodoList;
Login.js에 다음 구문 추가
const logout = () => {
setLoginMember(null);
}
{loginMember && (
<button onClick={logout}>로그아웃</button>
)}
App.js에 다음 구문 추가
<h1>Todo List</h1>
{/* 로그인을 해야 TodoList 보이도록 */}
<Login/>
<hr/>
{/* 로그인이 됐을 때 로그인 한 회원의 todoList 출력 */}
{loginMember !== null && (<TodoList/>)}
'React' 카테고리의 다른 글
리액트 기초 정리 (0) | 2024.08.05 |
---|---|
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 3 (0) | 2024.07.16 |
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 2 (0) | 2024.07.15 |
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 1 (0) | 2024.07.15 |
프로필 사진 넣기 (0) | 2024.07.12 |