TIL 2021.05.21 [협업] [Spring/Pattern]

Kyu·2021년 5월 21일
0

TIL

목록 보기
131/322

Meeting

In Zoom

어제 이야기한것 까지만 목 API를 만들어보려다가 Entity 생성하는 것에서 부터 막혔었다.
그래서 2시에 회의하기로 했던 것을 일찍이 스크럼 마치고 바로 이야기를 나눴다.
어제처럼 기획서 분석한 문서를 토대로 한 부분씩 서로 확인하고 지속적인 의견 교환으로 최종적으로 합의된 문서가 나왔다.
항상 다들 적극적으로 참여하시고 자기 의견을 제대로 말씀해주셔서 오늘도 1시간 만에 목표하는 이야기를 전부 나눌 수 있었다.


Coding

목 API들을 만들 때 그 방법을 어떻게 해야할까 고민이 됐다.
물론 앞서 최종적으로 합의한 그 API 분석 문서를 보고 포스트맨에서 하나씩 다 손으로 작성하면 빨리 만들어줄 수 있을 거 같았다.
근데 디비의 각 테이블마다 전부 샘플데이터들을 (많이) 넣고나니까 이것들을 이용해서 먼저 코드로 구현을하고 실제로 스프링에서 받아오는 데이터들을 목 API 예제에 삽입하고 싶었다.
첨엔 그렇게 할려고 열심히 코딩했는데..하루만에 하는 건 무리였다.
왜냐면 오늘은 기필코 완성된 목API 문서를 배포하고싶었기 때문이다.
그래서 중간에 하다가 분석한 문서를 보면서 포스트맨에 전부 수동으로 작성해줬다. 이거 진짜 힘들더라.. 그래도 다 만들고나니까 뿌듯했다. 그리고 하나하나씩 타이핑하면서 목 API들을 만듬ㄹ다보니까, 눈으로 그게 보이는게 장점이었다.
내가 어떤 것을 코드에서 구현하면 완성이되는지 1:1 매칭해서 바로 파악이 가능했기 때문이다.

--

Trace


스프링

쿼리스트링 한글 인코딩

설정에서 데이터소스 url에 UTF-8로 설정안하면 쿼리는 실행되는데 응답데이터에 아무것도 없음.

DAO, DTO, Entity

    public List<HotelCardDTO> findAllHotelCardsByLocationName(String locationName) {
        String query = "select * from hotel where location_name = " + "\'" + locationName + "\'";
        List<HotelCardDTO> hotels = this.jdbcTemplate.query(query, new HotelMapper())
                .stream()
                .map(hotel -> HotelCardDTO.of(hotel))
                .collect(Collectors.toList());
        return hotels;
    }

Spring Data JDBC로 치면 DAO가 Repository인데, DTO를 쓰려니까 DAO에서 호출하게 됐다.
Entity는 디비와 실제로 매핑하는 Mapper클래스에서 통신하긴 하는데..DAO에서도 쿼리를 직접 작성해주고 그것과 상호작용하는건 아니고 List로 받기만 하는거지만..아무리 생각해도 DTO라는 글자가 DAO에서 보이면 안될것같다.
서비스단에서 써줘야한다고 생각하는데..계속 거슬린다.
기능 구현하기전에 먼저 이부분에 대해서 해결을 보아야할거같다.

profile
TIL 남기는 공간입니다

0개의 댓글