2024. 7. 16. 11:20ㆍReact
TodoService
package com.kh.service;
import com.kh.dto.TodoMember;
public interface TodoService {
int idCheck(String id);
int signup(TodoMember member);
}
TodoServiceImpl
package com.kh.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.kh.dto.TodoMember;
import com.kh.mapper.TodoMapper;
@Service
public class TodoServiceImpl implements TodoService{
@Autowired
private TodoMapper todoMapper;
//interface에 기능이 명시가 되어있고 명시된 기능을 완벽하게 만드는 오버라이드(재사용)이라는 표기 작성
//생략이 가능하나 개발자 간의 약속이니 작성해주는 것이 좋음
//만약 판매자가 회원가입한 경우
@Override
public int idCheck(String id) {
return todoMapper.idCheck(id);
}
@Override
public int signup(TodoMember todoMember) {
return todoMapper.signup(todoMember);
}
}
** Service / ServiceImpl
Service : 코드를 작성하는데 있어 어떠한 서비스를 사용하겠다는 계약, 정의
-> 어떤 메서드(기능)들이 있어야하고 그 메서드들이 어떤 역할을 하는지 정의
ServiceImpl : 인터페이스로 작성한 Service의 실제 기능 작성
-> 비슷한 기능을 각 서비스에 맞춰 사용하겠다는 의미
ex) createUser = user를 만들 때 user를 관리자 / 소비자로 나눠서 만들기
TodoController
package com.kh.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.kh.dto.TodoMember;
import com.kh.service.TodoService;
import lombok.extern.slf4j.Slf4j;
//스프링부트 어플리케이션(폴더 안)에서 html 코드를 작성해주는 것이 아니라
//React나 url 주소를 공유할 때 사용
@RestController
@Slf4j
public class TodoController {
@Autowired
private TodoService todoService;
@GetMapping("idCheck")
public int idCheck(@RequestParam("id") String id) {
return todoService.idCheck(id);
}
@PostMapping(value="/signup")
public int signup(@RequestBody TodoMember todoMember) {
return todoService.signup(todoMember);
}
}
** 아이디 중복 검사
@Param(파라미터 = 매개변수(중간에 개입해 값을 변하게 하는 수))
=> @Param id 값을 가져와서 아이디 중복 결과를 보여줌
return 아이디 중복 확인 후에 결과를 되돌려 주는 것
=> return 중복 시 1, 중복이 아닐 시 0 반환
** 회원 가입
@Param member 회원 가입할 때 작성한 정보 모두 가져오기
return 회원가입을 성공하면 1, 실패시 0 반환
** 어노테이션
@Request = DB에 특정 값이 있는지, 또는 값을 넣거나 수정을 요청
@RequestParam = 특정 값만 선택해서 요청, 특정 값을 변환해서 요청
@RequestBody = 프론트에서 작성하고 Body로 전달해주는 모든 값을 넣어줌
-> React 기준
body : JSON.stringify(input값)
=> 모든 input값들을 DB에 넣겠다 선언
@Response = DB에서 전달받은 값을 프론트에 전달할 때 사용
@ResponseParam = 특정 값만 프론트에 전달함을 선언
@ResponseBody = html에서 body로 보여줄 모든 값을 전달
'React' 카테고리의 다른 글
리액트 기초 정리 (0) | 2024.08.05 |
---|---|
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 4 (0) | 2024.07.16 |
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 2 (0) | 2024.07.15 |
React - SpringBoot 연결하기 (회원가입+todo리스트 만들기) 1 (0) | 2024.07.15 |
프로필 사진 넣기 (0) | 2024.07.12 |