함.
들어보고 한 줄 요약
외부에서 값을 받을때는 Dto
를 생성해라
이렇게 별도의 객체를 만들어라.
엔티티에 굳이 @NotEmpty
를 넣어서 막지말고, Dto
에 넣어서 미리 검사를 하고 Member
로 값을 직접 넣어서 저장해라.
이게 유지보수에 좋다.
사실 update
에서 반환값을 Member
로 두는것도 생각할 수 있지만,
커맨드와 쿼리가 같이 있는건 좋은건 아니라고 말씀하심.
반환해도 id
정도만 반환하는 것이 적당하다고 하심.
그러므로 id
로 다시 조회해서 값을 넣어주는 모습.
실행이 잘 되는 모습.
왠지 모르게 소스코드를 가져와서 그런지 @JsonIgnore
가 알아서 붙어있었고, 그래서 Orders
는 나오지 않았다.
아무튼 엄청 간단하게 출력이 잘 되지만, 엔티티로 출력하는것은 아무튼 안좋다.
쓸데없는 정보들도 다 출력되기 때문.
또, Member
를 수정하게 되면, API
스펙 자체가 바뀌게 되서 name
이 username
으로 바뀌어버리는 참사가 발생할 수 있다.
아무튼 Dto
를 만들어서 보내는 것이 좋다.
Aㅏ java 8...
람다를 이용해서 각각의 member
를 memberDto
로 변환해주는 모습이다.
이 새로운 리스트를 Result
로 한번 감싸서 반환한다.
배열로 보내는 것보다는 이렇게 한번 감싸고 반환하는 것이 좋다는 것.
결국에는 요구사항으로 오게 되어있다.
이렇게 Dto
를 이용해 정말 필요한 것만 노출하는 것이 중요.