Project | 코드 리팩토링

Yunny.Log ·2022년 4월 22일
0

나의 외주일지

목록 보기
6/16
post-thumbnail

텍스트기존 방식 : request Dto를 받을 때 프론트에서 선택해오는 타입에 따라서 받아오는 member Id 의 갯수가 달라져서 memberId1, 2, 3... 이렇게 명명해서 받아왔었다.


    @Transactional
    public void create2(NewRouteCreateRequest2 req) {
        NewRoute newRoute = newRouteRepository.save(NewRouteCreateRequest2.toEntity(
                req,
                itemRepository,
                newRouteType
                )
        );
        routeProductRepository.save(RouteProductCreateRequest2.toEntity(
                req,
                newRoute,
                newRouteType,
                memberRepository

        ));
    }

    @Transactional
    public void create4(NewRouteCreateRequest4 req) {
        NewRoute newRoute = newRouteRepository.save(NewRouteCreateRequest4.toEntity(
                        req,
                        itemRepository,
                        newRouteType
                )
        );

        List<RouteProduct> routeProductList =
                RouteProductCreateRequest4.toEntityList(
                req,
                newRoute,
                newRouteType,
                memberRepository

        );

        for(RouteProduct routeProduct : routeProductList ){
            routeProductRepository.save(routeProduct);
        }

    }
  • 타입의 길이가 2개라면 2개짜리 request를 처리하는 요청
  • 4개라면 4개짜리 request 처리하는 요청 ...
    (위의 코드 방식 ;;)
  • 이런식으로 따로 따로 요청을 받다 보니깐 이건 말도 안되는 방식이라고 느낌
    • Because : 프론트에서 자신이 선택한 타입 갯수를 판별해서 그걸 request로 보내줘야 하고
    • 서버에서도 각 갯수 별로 다 다른 라우트request와 라우트product request를 만들어야한다.

=> 따라서 request member을 제외한(얘는 어차피 자동주입이라서..) member Id를 이중배열로 받는 방식으로 변경

=> ArrayList<ArrayList<String>> 의 형태로 memberIds 를 받아주었다.

0개의 댓글