인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

kmh님의 프로필 이미지
kmh

작성한 질문수

스프링 기반 REST API 개발

이벤트 목록 조회 API 구현

EventResource 클래스 코드 공유드립니다.

작성

·

237

3

EntityModel 객체를 상속하고 EntityModel 내부를 뜯어보았을 때 of 메소드 패턴을 가지고 있고, EventResource는 Event라는 도메인에 종속된 객체이기 때문에 아래와 같이 처리하였습니다.

public class EventResource extends EntityModel<Event> {

private static WebMvcLinkBuilder selfLinkBuilder = linkTo(EventController.class);

private EventResource(){ }

public static EntityModel<Event> of(Event event, String profile){
List<Link> links = getSelfLink(event);
links.add(Link.of(profile, "profile"));
return EntityModel.of(event, links);
}

public static EntityModel<Event> of(Event event){
List<Link> links = getSelfLink(event);
return EntityModel.of(event, links);
}

private static List<Link> getSelfLink(Event event) {
selfLinkBuilder.slash(event.getId());
List<Link> links = new ArrayList<>();
links.add(selfLinkBuilder.withSelfRel());
return links;
}

public static URI getCreatedUri(Event event) {
return selfLinkBuilder.slash(event.getId()).toUri();
}
}

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

감사합니다.

0

생성자는 @NoArgsConstructor 라는 롬복 어노테이션을 이용하면 한 줄 정도 줄일 수 있지 않을까 생각합니다😁

kmh님의 프로필 이미지
kmh

작성한 질문수

질문하기