NestJS&GraphQL CRUD 해보기2

커피 내리는 그냥 사람·2021년 4월 23일
1

기업협업 인턴십

목록 보기
14/16

참고한 내 블로그

CRUD 중 Update에 대한 내용

1. dto

먼저 dto 구성. 이 때 PickType 이용하여 사용한 모든 요소 가져온다

여기서 나중에 mutation으로 내용 변경 시 변경할 내용만 가져오는 것이 아니라 전체 내용 가져와주는 것이 좋다. 안 그러면 계속 에러 난다. 아마 PartialType으로 변경하면 에러가 안 날까 싶긴 한데 나중에 도전해보는거로.

2. service

    async updateOrder(updateOrderInput: UpdateOrderInput): Promise<UpdateOrderOutput>{
        try{
            await this.orders.update(updateOrderInput.id, {...updateOrderInput});
            return {
                ok: true
            }


        }catch(e){
            console.log(e);

            return {
                ok: false,
                error: "Cannot update Order"
            }
        }
    }
  • create의 연속이다. 어렵지 않게 할 수 있다. 리스트 받는 ... 놓치지 말 것.

착오하고 계속 잘못하고 있던 것 : id값을 계속 넣으려고 하다보니 update를 썼고 쓰다 보니 인자를 두 개 받고 하는 삽질을 계속 하고 있었음. 그게 아님. create랑 차이 없음

3. resolver

    @Mutation(returns => UpdateOrderOutput)
    async updateOrder(
        @Args('input') updateOrderInput: UpdateOrderInput
        ): Promise<UpdateOrderOutput>{
            return this.orderService.updateOrder(updateOrderInput);
        } 

마찬가지다. create와 차이가 없다.

외국자료 많이 살펴 봤지만 역시 기존에 받은 cat 자료를 잘 활용하는것이 최고였다.

결과.

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글