#3월 27일

저번 시간에 정했던 대로 ResponseEntity에 Vo를 담도록 수정했다. 또한 삭제, 조회 기능도 생성과 같이 구현했고, 테스트 코드도 작성했다.

해오기로 한 모든 것들을 서로 번갈아가며 발표하여 공유했다.

다른 분이 한 코드에서는 값이 DB에 존재하지 않을 때 필요한 예외 처리도 넣으셨다.

나도 이 예외처리가 필요하다고 생각하여 추가하기로 했다.

발표가 끝나고 시간이 많이 남아 User 생성, 조회를 이 시간에 해보기로 했다.

이것도 똑같이 발표하고 공유했다.

다음시간 까지 Spring Security 를 적용하여 로그인 구현, 그리고 수정 API를 구현해오기로 했다.

#3월 30일

수정할때 일부만 수정하는 것과 전체 데이터를 수정하는 두가지가 있다.

전체 데이터를 수정할 때는 큰 문제가 되지 않지만, 일부 데이터만 수정할 때 컬럼의 수가 많으면 많을 수록 null체크를 통해 수정해줘야한다. 이를 비효율적이라 생각하여 MapStruct라는 라이브러리를 사용하여 구현했다.

Dto에서 Entity로 바꿔주는 함수를 인터페이스에 선언하고 아래 annotation만 선언해주면 Null인 값은 무시하고 아닌 값은 갱신해줄 수 있다.

@BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)

테스트 코드에서 잘 동작하는 것을 확인하고 발표했다.

SpringSecurity에서 테스트 코드를 작성하는데 authenticated()로 로그인이 되는지 확인하는 코드가 자꾸 Null이 발생하여 완성하지 못했다.

위 내용을 팀원들과 공유했다.

이번 시간이 사실 JSCode에서 주관하는 스터디는 마지막 시간이었다.

하지만 완성하지 못했기 때문에 이번주 일요일에 다시 팀원들과 만나 각자 브랜치를 머지하기로 했고, Spring Security를 완성해보기로 했다.