Spring - Ajax ( fetch() - POST 방식)

Hyunny ·2023년 8월 18일
0

SPRING

목록 보기
8/14
post-thumbnail

💚📝 POST 방식 비동기 요청

JSON.stringify() : JS객체 -> JSON
JSON.parse() : JSON -> JS객체

    fetch("/selectMember", {
        method : "POST",
        headers : {"Content-Type" : "application/json"}, 
        body : JSON.stringify({"email" : inputEmail.value})
    })
    .then( resp => resp.json()) // 응답 객체를 매개변수로 얻어와 파싱 
    .then( member => {
        console.log(member);
    }) // 파싱한 데이터를 이용해서 비동기 처리 후 동작 

    .catch(err => console.log(err))

})

🤍📝 이메일로 회원 정보 조회 (비동기식)

🔎 AjaxController

	// 이메일로 회원 정보 조회 
	@PostMapping("/selectMember")
	@ResponseBody // Java 데이터 -> JSON, TEXT로 변환 + 비동기 요청한 곳으로 응답 
	public Member selectMember(@RequestBody Map<String, Object> paramMap) {
		
		// @RequestBody Map<String, Object> paramMap
		// -> 요청된 HTTP Body에 담긴 모든 데이터를 Map으로 반환 
		
		String email = (String)paramMap.get("email");
		
		return service.selectMember(email);
	}
    
    
🔎 AjaxServiceImpl
// 이메일로 회원 정보 조회
@Override
public Member selectMember(String email) {
return dao.selectMember(email);
	}    
    
    
🔎 AjaxDAO
	/** 이메일로 회원 정보 조회 
	 * @param email
	 * @return member
	 */
	public Member selectMember(String email) {
		
		return sqlSession.selectOne("ajaxMapper.selectMember", email);
	}
    
    
🔎 ajax-mapper.xml 
	<!-- 이메일로 회원 정보 조회 -->
	<select id="selectMember" parameterType="string" resultType="string">
		SELECT *
		FROM MEMBER
		WHERE MEMBER_EMAIL = #{email}
	</select>
profile
개발 learning ... 📝

0개의 댓글