728x90
반응형
SMALL
이번에는 Todo리스트를 검색하는 리포지터리 서비스를 구현할것이다.
Todo에 관한 서비스오브젝트를 관리하는 TodoSO에 위를 추가해준다
@Autowired
TodoRetrieveTodoListCO todoRetrieveTodoListCO;
@GetMapping
public ResponseEntity<?> retrieveTodoList() {
return todoRetrieveTodoListCO.TodoRetrieveTodoList();
}
그리고 실제 동작을 할수있는 코드들이 있는 Controller오브젝트 TodoRetrieveTodo ListCO클래스를 만든다.
package com.unoSpringBoot.study.Controller;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import com.unoSpringBoot.study.DTO.ResponseDTO;
import com.unoSpringBoot.study.DTO.TodoDTO;
import com.unoSpringBoot.study.model.TodoEntity;
import com.unoSpringBoot.study.service.TodoService;
@Service
public class TodoRetrieveTodoListCO {
@Autowired
private TodoService service;
public ResponseEntity<?> TodoRetrieveTodoList() {
try {
// 데이터셋팅
List<TodoEntity> entities = service.retrieveTodo("KIM_EUN_HO");
List<TodoDTO> outDTO = entities.stream().map(TodoDTO::new).collect(Collectors.toList());
ResponseDTO<TodoDTO> response = ResponseDTO.<TodoDTO>builder().data(outDTO).build();
return ResponseEntity.ok().body(response);
} catch (Exception e) {
// TODO: handle exception
ResponseDTO<TodoDTO> response = ResponseDTO.<TodoDTO>builder().error("오류").build();
return ResponseEntity.badRequest().body(response);
}
}
}
설명 : 실제 DB를 주무르는 service.retrieveTodo를 만들어준다.
TodoService 클래스에도 해당 메서드를 만들어준다.
public List<TodoEntity> retrieveTodo(final String userId) {
log.info("entity id : {} is saved", userId);
return todoRepository.findByUserId(userId);
}
현재의 아이디에 대한 정보가있다면 리스트형태의 값을 반환하도록 하였다.
그리고 자바 스트림을 이용해 리턴된 엔티티 리스트를 TodoDTO리스트로 변환한다.
변환된 투두디티오 리스트를 이용해 리포지토리 DTO를 초기화한다.
그리고 CO에서 SO로 값을 리턴해준다.
현재 localhost/Todo URI를 입력하면 리스트가 나올수있는 기능을 만든것이다.
현재는 널값 , 즉 리스트에 내용이 없다.
그럼 글을 추가해주자
앞서 만들었던 크리에이트 투두포스트형식으로 직접 넣어주자,. 저는 2개를 넣어주도록하겠습니다.
그럼 처음 입력한 안녕하세요 반갑습니다. 그리고 날씨가 추워졌다는 둥의 내용이 입력되었습니다.
그러나 아직 DB에 직접적으로 입력한게아니여서 서버를 다시 실행하면 사라진다.
우선은 스프링부트를 이용해서 리스트들을 확인할 수 있는 기능을 하는 것에 대해 알아보았습니다.
728x90
반응형
LIST
'Spring boot 프로젝트 기록 > 1. 백엔드 개발' 카테고리의 다른 글
서비스 개발(4) - 삭제기능 (0) | 2021.11.28 |
---|---|
서비스 개발(3) - 업데이트 기능 (0) | 2021.11.28 |
서비스 개발(1) - 글을 추가하는 기능 (0) | 2021.11.26 |
기본 쿼리와 쿼리 작성 방법 (0) | 2021.11.26 |
서비스 레이어 : 비즈니스 로직 (0) | 2021.11.24 |
댓글