인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

KimJongHyun님의 프로필 이미지
KimJongHyun

작성한 질문수

스프링과 JPA 기반 웹 애플리케이션 개발

패스워드 수정

안녕하세요 addAttribute에 관한 질문이 있습니다.

작성

·

218

1

안녕하세요 백기선님!

addAttribute에 관한 질문이있습니다.

@GetMapping(SETTINGS_PASSWORD_URL)
public String updatePasswordForm(@CurrentUser Account account, Model model)

내부에서 model.addAttribute(new PasswordForm())로 PasswordForm 객체를 model에 추가해주는 부분이있는데요.

PostMapping시에 해당 객체를 통해 데이터를 전송하기 위한것으로 보이는데, 프로필 수정 부분처럼 설정된 기존 데이터(한 줄 소개 등)를 사용하지 않는 패스워드 변경 기능에서도 저런식으로 PasswordForm객체를 GetMapping 시에 추가하는 이유가있을까요?

스프링 부트 강의에서 알려주셨던 @ModelAttribute를 사용하여 PostMapping에서는 PasswordForm으로 바로 받을수 있을것이라고 생각되는데 어떤 이유인지 궁금합니다!

답변 1

1

백기선님의 프로필 이미지
백기선
지식공유자

PostMapping과는 크게 관계가 없어요. new PasswordForm은 GET 요청의 응답으로 사용하는 뷰에서 사용할 객체입니다. GET요청의 응답으로 보여줄 뷰 코드를 잘 보시면 PasswordForm 타입의 객체를 참조하고 있는걸 볼 수 있습니다. 이런 객체를 Form backing object라고 부르는데 폼에서 참조할 객체가 필요해서 넣어준거 뿐입니다.

KimJongHyun님의 프로필 이미지
KimJongHyun

작성한 질문수

질문하기