함.


들어보고 한 줄 요약
외부에서 값을 받을때는 Dto를 생성해라

이렇게 별도의 객체를 만들어라.
엔티티에 굳이 @NotEmpty 를 넣어서 막지말고, Dto에 넣어서 미리 검사를 하고 Member로 값을 직접 넣어서 저장해라.
이게 유지보수에 좋다.


사실 update에서 반환값을 Member로 두는것도 생각할 수 있지만,
커맨드와 쿼리가 같이 있는건 좋은건 아니라고 말씀하심.
반환해도 id 정도만 반환하는 것이 적당하다고 하심.
그러므로 id로 다시 조회해서 값을 넣어주는 모습.

실행이 잘 되는 모습.


왠지 모르게 소스코드를 가져와서 그런지 @JsonIgnore가 알아서 붙어있었고, 그래서 Orders는 나오지 않았다.
아무튼 엄청 간단하게 출력이 잘 되지만, 엔티티로 출력하는것은 아무튼 안좋다.
쓸데없는 정보들도 다 출력되기 때문.
또, Member를 수정하게 되면, API 스펙 자체가 바뀌게 되서 name이 username으로 바뀌어버리는 참사가 발생할 수 있다.
아무튼 Dto를 만들어서 보내는 것이 좋다.

Aㅏ java 8...
람다를 이용해서 각각의 member를 memberDto로 변환해주는 모습이다.
이 새로운 리스트를 Result로 한번 감싸서 반환한다.

배열로 보내는 것보다는 이렇게 한번 감싸고 반환하는 것이 좋다는 것.
결국에는 요구사항으로 오게 되어있다.
이렇게 Dto를 이용해 정말 필요한 것만 노출하는 것이 중요.