Controller 처리
@PostMapping("/login")
public String login(@ModelAttribute MemberDto memberDto, HttpSession session){
boolean result = memberService.login(memberDto);
if(result){
session.setAttribute("loginEmail", memberDto.getEmail());
return "main";
} else {
return "member/login";
}
}
RestController 처리
@CrossOrigin
@PostMapping("/login")
public ResponseEntity<?> login(@RequestBody MemberDto memberDto){
System.out.println(memberDto);
boolean result = memberService.login(memberDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@ModelAttribute와 @RequestBody는 모두 스프링 MVC 프레임워크에서 사용되는 어노테이션으로, HTTP 요청의 데이터를 컨트롤러 메서드에서 처리하기 위해 사용됩니다. 하지만 두 어노테이션은 사용 방법과 동작에 있어 다음과 같은 차이점을 가지고 있습니다.
- 데이터 위치