inflearn logo
강의

講義

知識共有

Spring MVC 2編 - バックエンドWeb開発活用技術

Form送信オブジェクトの分離 - 開発

분리 이해가 잘 안 됩니다.

324

ohju

投稿した質問数 14

0

강의를 2번째 돌려보고 있습니다. 처음엔 강사님 코드 따라치고 지금은 프로젝트를 따로 만들어 직접 사용해 보면서 하고 있다 막히는 부분이 있어서 질문 드립니다.

분리를 하라는 것이 View에서 th:object에 담아오는 model 객체를 여러개 만들어 사용하라고 이해를 해서 아래와 같이 했습니다.

1. item1Vo (등록)

2.item2Vo (수정)

두 VO를 만들어주고 하나는 아이템 등록, 하나는 아이템 수정 정보를 받아오게 했습니다.

 

그 뒤에 itemDto를 만들어주고 Controller에서 itemDto로  item1Vo와 item2Vo를 옮겨서 Service로 보내주는데

 

이떄, 검증 로직은 item1Vo, item2Vo에 해야 하나요? itemDto에 해야 하나요?

(검증 애노테이션은 item1Vo와 item2Vo에 붙였고 등록의 검증 로직은 성공한 상태입니다.)

강사님이 말씀하신 따로 form객체를 만들어서 분리를 하라는 것이 제가 하고 있는 것을 말씀하시는 건가요?

 

++ 추가

이렇게 검증해야 하는 게 많아지면 supports가 구분을 해준다고 하셨는데 

@Override
public boolean supports(Class<?> clazz) {
return item1Vo.class.isAssignableFrom(clazz);
}

위 코드는 item1Vo를 적용한 상태이지만 item2Vo를 적용하려면 어떤 식으로 넣어줘야 할까요?..

깃허브 다른 분들꺼 찾아보니까 새로 클래스 만들어서 

@Override
public boolean supports(Class<?> clazz) {
return item2Vo.class.isAssignableFrom(clazz);
}

이렇게 사용하던데 이렇게 사용하면 supports의 구분 기능이 필요가 없는 게 아닌가 싶어서요.

spring MVC

回答 2

1

100end

혹시 컨트롤러에서 검증하는 부분을 Validator로 분리하는 부분과 각 화면Form에서 넘어오는 데이터가 조금씩 달라서 각 화면Form에 맞는 데이터를 담는 객체로 분리해주는 것을 혼동하신 것이 아닌가 싶어요.

1

yh

안녕하세요. ohju님

form 객체를 분리하는 것이고, 이미 잘 진행하고 있는 것 같습니다.

추가 부분은 저도 정확히 이해가 안되네요. 혹시 아시는 분 있으면 답변 부탁드립니다.

감사합니다.

이미지 업로드와 db 트랜잭션 묶는법

0

38

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

45

2

MessageSourceTest 코드

0

45

1

인터셉터 에러 설정

0

47

1

resolveArgument()메서드 질문

0

54

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

52

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

130

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

86

3

pdf 오타 문의

0

54

1

ItemUpdateForm 검증 관련 질문입니다.

0

46

1

22page 링크 주소 변경

0

55

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

52

1

섹션3번 수업에 대한 질문입니다.

0

78

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

84

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

63

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

140

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

61

1

톰캣 에러 페이지가 안보입니다.

0

98

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

80

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

116

2

ApiExceptionController 질문드립니다.

0

62

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

63

1

MemberRepository 필드의 fianl 선언 유무

0

82

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

57

1