[横書きアイテム]そんなREST APIで大丈夫ですか?本格的なREST APIの実装:イベントとイベントDTO
15710 ワード
イベントモデルテストの実装
テストするケースは次のとおりです.
package com.carrykim.restapi.event;
import com.carrykim.restapi.event.model.Event;
import com.carrykim.restapi.event.model.dto.EventDto;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
class EventTest {
@Test
public void build(){
Event event = Event.builder().build();
assertNotNull(event);
}
@Test
public void javaBean(){
//Given
String eventName = "My Event";
String eventDescription = "This is my event";
//When
Event event = Event.builder()
.name(eventName)
.description(eventDescription)
.build();
//Then
assertEquals(eventName, event.getName());
assertEquals(eventDescription, event.getDescription());
}
@Test
public void fromDto(){
//Given
String eventName = "My Event";
String eventDescription = "This is my event";
Event event = Event.builder()
.name(eventName)
.description(eventDescription)
.build();
EventDto eventDto = EventDto.builder()
.name(eventName)
.description(eventDescription)
.build();
//When
Event fromDto = eventDto.toModel();
//Then
assertEquals(event.getName(), fromDto.getName());
assertEquals(event.getDescription(), fromDto.getDescription());
}
}
イベントモデルの実装
package com.carrykim.restapi.event.model;
import lombok.*;
import javax.persistence.*;
@Getter @Setter
@EqualsAndHashCode(of = "id") @Builder
@NoArgsConstructor @AllArgsConstructor
@Entity
public class Event {
@Id @GeneratedValue
private Integer id;
private String name;
private String description;
}
実装イベントDTO
package com.carrykim.restapi.event.model.dto;
import com.carrykim.restapi.event.model.Event;
import lombok.*;
@Getter @Setter @Builder
@NoArgsConstructor @AllArgsConstructor
public class EventDto {
private String name;
private String description;
public Event toModel(){
return Event.builder()
.name(this.name)
.description(this.description)
.build();
}
}
Reference
この問題について([横書きアイテム]そんなREST APIで大丈夫ですか?本格的なREST APIの実装:イベントとイベントDTO), 我々は、より多くの情報をここで見つけました https://velog.io/@carrykim/사이드프로젝트-그저-그런-REST-API로-괜찮은가-진정한-REST-API-구현해보기-Event-Event-DTOテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol