Description
Vue와 Spring에서 /sign-up 과정중 의문점이 생겨서 질문드립니다.
Controller
@PostMapping("/sign-up")
public Boolean signUp(@RequestBody MemberRegisterForm form) {
// Spring에서 보내온 정보를 MemberRegisterForm에 담아둠
// Vue 에서는 Json 객체로 정보를 보내오니 그거를 Java에서 저장할수있게 변환작업
// @RequestBody가 다 해줌
log.info("signUp(): " + form);
// 근데 form에서 다시 Request로 변환해서 넘겨주네 왜?
return memberService.signUp(form.toMemberRegisterRequest());
}
Java
복사
MemberRegisterForm
@Getter
@Setter
@ToString
@NoArgsConstructor
public class MemberRegisterForm {
private String email;
private String password;
private String nickName;
private String city;
private String street;
private String addressDetail;
private String zipcode;
public MemberRegisterRequest toMemberRegisterRequest () {
return new MemberRegisterRequest(email, password, nickName, city, street, addressDetail, zipcode);
}
}
Java
복사
MemberRegisterRequest
@Getter
@ToString
@RequiredArgsConstructor
public class MemberRegisterRequest {
final private String email;
final private String password;
final private String nickName;
final private String city;
final private String street;
final private String addressDetail;
final private String zipcode;
public Member toMember () {
return new Member(
email,
nickName,
MemberProfile.of(city, street, addressDetail, zipcode)
);
}
}
Java
복사
제가 이해한 과정이라면 Vue에서 보내온 정보를 Form에 저장을 하고 그걸 다시 Request로 바꿔 주는 것 같은데 form 과 request 클래스의 차이라면 마지막 라인에 생성자 차이밖에 없는 것 같은데 혹시 클래스마다 하는 기능을 나눠주기 위해서 하시는 건가요?
만약 그런 이유라고 하신다면 저희의 모든 Controller 들은
* Vue에서 정보를 받을 때는 Form
* 받아온 정보를 작업을 할 때는 Request
* 작업을 완료하고 정보를 전달할때는 Response
이렇게 구성이 되야 하나요?
Try
Solution
네 맞습니다.
•
Form은 양식
•
Request는 받은 양식을 기반으로 어떤 요청인지 살피는 것
•
Response는 위 절차를 거쳐서 돌려주는 응답
가만 보니까 최근 굉장히 정신이 없어서 이슈가 밀렸는데 같은 질문이 있었군요.