티스토리 뷰

REST API - Event 생성 API 구현 - EventRepository

Event Entity

Enum Mapping시 주의할점

  • @Enumerated(EnumType.STRING) 을 사용할것.
  • ORDINAL 을 사용하면, ENUM의 순서가 바뀌게되면 기존의 데이터에 영향을 미치게된다.

 

 

Spring Data JPA

  • JpaRepository를 상속받아 생성
  • jpaRepository는 상위클래스에 CRUD Repository 가 존재하기 때문에 기본적인 CRUD메서드가 존재한다.

JpaRepository

Event 생성 API

  • produces = MediaTypes.HAL_JSON_UTF8_VALUE
    • 응답 컨텐츠 타입을 HAL_JSON 으로 지정한다.
  • 생성 API 로 이벤트 생성 요청이 오면, 해당 이벤트를 EventRepository에 저장한다.
  • 저장된 Event의 ID로 링크를 생성해준다.
  • 그후 저장된 Event를 응답본문으로 Return

 

 

Event 생성 API 테스트

  • @WebMvcTest
    • 웹과 관련된 테스트 이기때문에 EventRepository 를 @Autowired로 의존성을 주입받아 사용하려고하면 해당 빈이 존재하지않는다는 에러가 발생한다.
  • @MockBean
    • @MockBean 애노테이션을 활용하여 해당 객체를 Mocking한다.
  • given(eventRepository.save(event)).willReturn(event);
    • Mocking된 객체이기때문에 해당 객체의 특정 메서드를 호출하였을때 Return값도 지정해주어야한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함