REST API - Event 생성 API 구현 201 응답 JSON 응답으로 201 이 오는지 테스트를 진행 @RestController @ResponseBody를 모든 메서드에 적용한것과 동일하다. ResponseEntity를 사용하는 이유 ? 응답코드, 헤더, 본문 모두 손쉽게 다룰수 있는 API이다. LocationURI HATEOAS가 제공하는 linkTo(), methodOn()을 활용하면 손쉽게 만들수 있다. 이벤트 생성 API 테스트 코드 테스트 결과 Location 헤더 정보가 존재하고, 201 응답을 받는다. Event에 대한 정보와 함께 이벤트를 생성하는 테스트를 진행 Event 생성 API 기존에 URI 생성시 methodOn을 사용했는데, 이는 메서드를 호출함으로써 URI정보를 가..
REST API - Event API TEST Class TEST Class 생성 @RunWith 테스트 코드는 Junit기반으로 진행 @RunWith(SpringRunner.class) SpringBoot Test를 위한 SpringRunner class를 지정 @WebMvcTest Web과 관련있는 빈들만 등록이 된다. MockMvc가 자동적으로 설정되어 MockMvc를 주입받아 사용할 수 있다. MockMvc Spring Mvc 핵심 클래스 Mocking되어있는 DispatcherServlet을 상대로 가짜 요청을 만들어 테스트가 가능하다. 웹 서버를 띄우지 않기때문에 좀 더 빠르다. Slicing Test라고 부른다. 테스트 해야할것 ? 입력값을 전달한다면 JSON 응답 201이 나오는가 ? Lo..
REST API - Event 생성 API - 명세 Event 생성 API 입력 받아야 할 값 name description beginEnrollmentDateTime endEnrollmentDateTime closeEnrollmentDateTime beginEventDateTime endEventDateTime location: 없다면 온라인 모임 basePrice maxPrice limitOfEnroll basePrice, maxPrice 수치에 따른 각각의 로직 0, 100 : 선착순 0, 0: 무료 100, 0 : 경매 100, 200 : 제한가 선착순 등록 결과 값 id name 그 외값 eventStatus.DRAFT : 기본상태 offline free _links profile self pu..
REST API - Event 도메인 구현 Event Domain Class lombok 을 사용 javaBean spec에 준수하도록 기본 생성자, getter, setter를 생성 EqualsAndHashCode 를 사용하면 모든 필드를 기반으로 생성하기 때문에 of = "id" 를 명시하여 생성해주었다. JPA 연관관계 매핑시 무한루프가 발생할 가능성이 있음(스택오버플로우 발생). builder를 사용하면 기본생성자가 존재하지않기 때문에 NoArgsConstructor, AllArgsConstructor 를 추가 EventStatus Class lombok 의 Builder 테스트 코드 주의할점 lombok 사용시 @Data를 사용하면 편리하지만, @EqualsAndHashCode도 구현하기때문에 ..