728x90
@RequestBody ( Http 바디 정보를 편리하게 조회: 주로 API JSON에서 사용한다. )
- 클라이언트가 보내는 HTTP의 바디 메세지(json)을 Java 객체로 변환해준다.
(이때 HttpMessageConverter을 이용하여 타입에 맞게 변화한다.) - 각각의 필드 단위로 적용하는 것이 아니라 전체 객체 단위로 적용된다.
- 헤더 정보가 필요하면 HttpEntity를 사용하거나, @RequestHeader을 사용한다.
@PostMapping("/api/user-add")
public long makeUser(@RequestBody UserMakeDto userMakeDto) {
Member member = Member.makeUser(userMakeDto.getLoginId(), userMakeDto.getName(), userMakeDto.getNickname(), userMakeDto.getPassword());
Long userId = memberService.join(member);
return userId;
}
@ModelAttribute ( 요청 파라미터를 조회 : 주로 URL 쿼리 스트링, Form에서 건너온 데이터를 처리할때)
- 클라이언트가 보내는 HTTP 요청 파라미터를 Java 오브젝트로 바인딩(매핑)하여 처리한다.
- 각각의 필드 단위로 세밀하게 적용, 특정 필드에 타입이 맞지 않는 오류여도 나머지 필드는 정상 처리가 가능하다.
@PostMapping("/api/user-add")
public long makeUser(@ModelAttribute UserMakeForm form) {
Member member = Member.makeUser(userMakeDto.getLoginId(), userMakeDto.getName(), userMakeDto.getNickname(), userMakeDto.getPassword());
Long userId = memberService.join(member);
return userId;
}
@RequestParam( 요청 파라미터를 조회 : 파라미터 이름으로 바인딩 한다.)
- 기본 설정이 true 이기 때문에 만약 반드시 입력해야하는 경우가 아니라면 required=false로 설정해야한다.
@GetMapping("/checkUserId")
public User checkIdGet(@RequestParam(required = true) String id){
if(userRepository.findById(id)!=null){
User user = userRepository.findById(id);
return user;
}
else
return null;
}
⭐️ 참고 ⭐️
https://mangkyu.tistory.com/72
스프링 MVC 1,2 - 백엔드 웹 개발 활용 기술
728x90
'Spring,SpringBoot' 카테고리의 다른 글
test 환경 분리하기, 폼 객체 mock mvc 테스트 방법 (0) | 2023.03.30 |
---|---|
swagger에서 멀티파트 폼 데이터 올리는 법 (0) | 2023.03.29 |
MVC, MVC1, MVC2 그리고 스프링의 MVC처리과정 (0) | 2023.03.27 |
SpringBean, IOC, DI (0) | 2023.02.11 |
스프링부트 3.0 세팅 (인텔리제이, 맥) (0) | 2022.12.08 |
댓글