컨트롤러에서 이벤트 목록을 조회하는 코드는 다음과 같이 작성되었다
/*
* 이벤트 목록
*/
@GetMapping
public ApiResponse<List<Event>> getEvents(Pageable pageable) {
final List<Event> events = eventService.getEvents(pageable);
return ApiResponse.isOk(getEventsResponse.from(events));
}
여기서 ApiResponse.java는 다음과 같다.
@Getter
public class ApiResponse<T> {
private int httpStatus;
private T data;
public ApiResponse(int httpStatus, T data) {
this.httpStatus = httpStatus;
this.data = data;
}
public static <T> ApiResponse<T> isOk(T data) {
return new ApiResponse<>(HttpStatus.OK.value(), data);
}
}
주로 RESTful 아키텍처에서 사용되는데 프레젠테이션 계층에서 클라이언트에게 일관된 응답을 제공하는 역할을 한다.