Entity 자체를 Form으로 쓸경우

JIWOO YUN·2023년 8월 30일
0

JPA활용1

목록 보기
3/5
post-custom-banner
엔티티 자체를 폼으로 쓰는 경우 문제점.

Entity가 화면을 처리하기위한 코드가 증가함

  • 화면에종속적으로 된다.
  • 결국엔 유지보수가 어려워진다.
  • 최대한 핵심 비지니스 로직에만 의존되도록 하는게 좋음.
    • 여러 군데에서 유연하게 사용하더라도 유지보수가 좋아진다.
    • 화면에 맞는 api는 form 객체나 DTO를 통해서 진행하는게 맞다.

결론 : Entity는 최대한 순수하게 유지시켜야한다.

@GetMapping("")
public String list(Model model){
    List<Member> members = memberService.findMembers();
    model.addAttribute("members",members);
    return "members/memberList";

}

현재 강의의 경우에는 간단한 예제를 통해서 진행되기 때문에 현재 엔티티를 건들지 않아도 되서 사용했지만

만약 복잡하게 연결되있을 경우 DTO를 통해서 값을 가져와서 해주는게 좋습니다.

API를 만들때에는 절대 Entity를 외부로 반환하면 안된다.

  • 만약 entity를 외부에 노출된다면 entity에 필드를 추가할 경우 api 스펙이 변화가 생김.
    • 다른 팀에서 이 api를 사용하는 경우 api 스펙 변화에 따른 오류가 발생하게 되고 그 문제를 수정하는 작업이 발생한다.
  • 그렇기 때문에 Entity를 외부로 반환하지 않고 그대신 DTO 를 통해서 반환을 해서 규격을 만들어서 entity 필드를 수정하더라고 DTO의 값은 변하지 않기 때문에 api 스펙은 변하지 않는다.

DTO(Data Transfer Object) : 계층간 데이터 교환을 하기 위해 사용하는 객체 -> 로직을 가지지 않는 순수한 객체 클래스로 데이터 교환을 위해서 사용된다.

profile
열심히하자
post-custom-banner

0개의 댓글