Form을 전부 만들었다.
이제 백단에서 회원가입 API를 만들어 프론트딴과 통신을 해 회원가입을 구현하자.
알다시피 axios를 사용할것이다.
1.axios를 설치한다.
npm install --save axios
Vue 컴포넌트의 script단에서 axios를 import한다.
import axios from 'axios';
2. 서버단에서 Controller를 생성한다.(테스트용)
3. 회원가입 버튼에 event를 붙인다.
4.테스트
성공! 이제 Controller딴과 Service, Repository, VO등 작성한다.
Controller
package com.project.api.signin;
import com.project.mybatis.vo.SignInVO;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@RestController
@RequiredArgsConstructor
@RequestMapping("/api")
public class SignInController {
private final SignInService signInService;
@PostMapping("/signIn")
@ResponseBody
public String signIn(@RequestBody SignInVO signInVO){
if(signInService.signIn(signInVO)){
return "success";
}else{
return "fail";
}
}
}
Service
package com.project.api.signin;
import com.project.mybatis.vo.SignInVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class SignInService {
private final SignInRepository signInRepository;
public boolean signIn(SignInVO signInVO){
return signInRepository.signIn(signInVO);
}
}
Repository
package com.project.api.signin;
import com.project.mybatis.vo.SignInVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Repository
@Mapper
public interface SignInRepository {
public boolean signIn(SignInVO signInVO);
}
signin.xml(쿼리)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTO Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.project.api.signin.SignInRepository">
<insert id="signIn" parameterType="com.project.mybatis.vo.SignInVO">
INSERT INTO USER VALUES(NEXTVAL(project.USERSEQ), #{email}, #{name}, #{password}, CONCAT(#{phone1}, '-', #{phone2}, '-', #{phone3}), #{zipcode}, #{address1}, #{address2})
</insert>
</mapper>
성공!
우선 INSERT가 정상적으로 수행되는것을 확인했다.
다음글은 Validation Check, Error관리, 화면딴 수정과 같은 자잘한 문제들을 정리할 예정이다.
'프로젝트' 카테고리의 다른 글
9. 회원가입 / 로그인기능 만들기(1) (0) | 2023.10.26 |
---|---|
8. 네이버 지도 API사용 (0) | 2023.10.26 |
7. vue.js에서 bootstrap사용하기 (0) | 2023.10.25 |
6. vuetify를 사용하여 포탈 꾸미기 (0) | 2023.10.25 |
5. mariadDB 연동 및 myBatis 연동 (0) | 2023.10.23 |