2021년 12월 21일 기록

yshjft·2021년 12월 21일
0

하루 기록

목록 보기
3/16

Optional

  • 사용 1(.get()을 이용한 접근)
Optional<Member> byLoginId =  memberRepository.findByLoginId(loginId);
Member member = byLoginId.get();

get()을 이용하여 객체에 접근할 수 있으나 만약 객체가 비어있다면 NoSuchElementException이 발생한다!

  • 사용 2(.orElse()를 이용한 접근)
memberRepository.findByLoginId(loginId)
                .filter(m -> m.getPassword().equals(password))
                .orElse(null);

객체가 비어 있을 경우 null을 반환한다.

ResponseBody

객체를 http response body에 바인딩한다. api개발에 주로 쓰인다. @RestController를 통해 쉽게 사용할 수 있다.

Validation with DTO

  • (DTO) → Controller → (DTO) Service
    1. Service에서 DTO를 이용하여 Entity를 생성한다. 그리고 생성된 Entity를 Repository에 전달한다.
    2. DTO는 종류별로(ex. 수정 OR 생성) 따로 사용하여 validation을 진행한다.

Bean Validation

  • @NotNull
    nul을 허용하지 않는다.

  • @NotEmpty
    null과 ""를 허용하지 않는다. Collection의 size 또한 검증할 수 있다.

  • @NotBlak
    null, "", " " 모두 허용하지 않는다.

검증 어노테이션 모음

profile
꾸준히 나아가자 🐢

0개의 댓글