메인 페이지에서 상세 페이지로 넘어갈 때 특정 값만 출력이 되지 않았음
여기에서 웃긴게 title 말고도 Item 엔티티의 detail 필드가 ItemFormDto에서는 itemDetail로 되어있는데 detail은 가지고 와지는데 title만 출력이 안됐다.... 그래서 이게 문제일거라고는 생각도 못했다 🤬 애초에 왜 둘의 필드명이 다르냐구요? 저도 같게 하고싶었어요 ^^......
- 해결 과정 :
코드 검토 : 코드를 검토해서 'ItemFormDto'의 매핑 부분이 문제가 있는지 확인.
ModelMapper 매핑 규칙 설정 :
아래와 같이 매핑 규칙을 설정해줬지만 여전히 itemNm을 가지고 오지 못했다.
@Configuration
public class ModelMapperConfig {
@Bean
public ModelMapper modelMapper() {
ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<Item, ItemFormDto>() {
protected void configure() {
map().setItemNm(source.getTitle());
map().setItemDetail(source.getDetail());
// 다른 규칙들...
}
});
return modelMapper;
}
}
3. 직접 필드 매핑 : 'ModelMapper'의 자동 매핑 기능을 우회하고 'Item' 엔티티와 'ItemFormDto' 간의 필드를 직접 명시적으로 매핑하는 방법을 사용!!!! (😭해결완료)
- 결론