🌸 GraphQL 13

prisma nexus graphql 관계

prisma 스키마가 주어지면(첫번째) 이러한 prisma 모델을 API 에 투영하고 이에 대한 작업을 노출(가운데)하여 graphQL 스키마를 생성할 수 있습니다.(세번째) generator prisma_client { provider = "prisma-client-js" } model User { id String @id @default(cuid()) email String @unique birthDate DateTime } model Post { id String @id @default(cuid()) author User[] } import { schema } from 'nexus' schema.queryType({ definition(t) { t.crud.user() t.crud.users({ o..

🌸 GraphQL 2022.05.15

[Prisma Client] null and undefined

null 과 undefined 차이점 null 은 value(= 값) 이다. undefined 는 "do nothing" 을 의미한다. 다음 예에서 emailInput 이 null 이면, email 필드를 undefined 로 해보자. (= do nothing 하라는 뜻) const update = await prisma.user.update({ where: { id: 1, }, data: { name: "Petunia", email: emailInput != null ? emailInput : undefined, // If null, don't include in update! }, }); function getEmail() { const random = Math.floor(Math.random() *..

🌸 GraphQL 2022.05.10

Prisma Client 필터링

대다 관계 필터 Prisma Client는 관계의 "대다" 측면에서 관련 레코드의 속성으로 레코드를 필터링 하는 some, every, none 및 옵션을 제공합니다. 예를 들어, 게시물의 속성을 기반으로 사용자를 필터링합니다. RequirementQuery / option to use "I want a list of every User that has at least one unpublished Post record" some posts are unpublished "I want a list of every User that has no unpublished Post records" none of the posts are unpublished "I want a list of every User that..

🌸 GraphQL 2022.04.04

GraphQL server 공식문서 참고

How GraphQL GraphQL 은 백엔드 기술의 떠오르는 별입니다. API 설계 패러다임으로 REST를 대체하며 웹 서버의 데이터와 기능을 노출시키는 새로운 표준이 되고 있습니다. 이 튜토리얼에서는 관용적인 GraphQL 서버를 처음부터 완전히 구축하는 방법을 배웁니다. 다음 기술을 사용할 것입니다. Apollo Server 2.18 : 손쉬운 설정, 성능, 뛰어난 개발자 경험 등에 중점을 둔 완전한 기능을 갖춘 GraphQL Server입니다 . Prisma : 기존 ORM을 대체합니다. Prisma Client를 사용하여 GraphQL 리졸버 내부의 데이터베이스에 액세스하십시오. GraphQL Playground : 쿼리 및 변형을 전송하여 GraphQL API의 기능을 대화식으로 탐색할 수 있..

🌸 GraphQL 2022.03.26

useQuery, useLazyQuery (공식 문서 참고)

useQuery useQuery React hook 은 Apollo 애플리케이션에서 쿼리를 실행하기 위한 기본 API 입니다. React 컴포넌트 내에서 쿼리를 실행하려면 useQuery GraphQL 쿼리 문자열을 호출하고 전달합니다. 컴포넌트가 랜더링되면 UI 를 랜더링하는데 사용할 수 있는 useQuery 는 아폴로 클라이언트로부터 객체를 리턴한다. loading, error, data 예를 들어 보겠습니다. GET_DOGS 라는 GraphQL 쿼리를 생성합니다. import { gql, useQuery } from '@apollo/client'; const GET_DOGS = gql` query GetDogs { dogs { id breed } } `; 다음으로 Dogs 라는 구성요소를 만들고, ..

🌸 GraphQL 2022.03.08

데이터 유지를 prisma 를 통해 하자 (CRUD)

앞서 graphQL 의 스키마 작성을 nexus 를 통해 해보았다. (참고로 예전 게시물과 이어지는 포스팅이다.) 2022.02.26 - [GraphQL] - nexus 이해하기1 (공식문서 참고) 2022.02.26 - [GraphQL] - nexus 이해하기2 (공식문서 참고) 2022.02.26 - [GraphQL] - nexus 이해하기3 (공식문서 참고) 이제 DB 와의 상호작용을 prisma client 를 통해 할 수 있도록 해보겠다. prisma 를 통해 이렇게 바꿀 수가 있다.!!! // api/graphql/Post.ts // ... export const PostQuery = extendType({ type: 'Query', definition(t) { t.list.field('dra..

🌸 GraphQL 2022.02.28

nexus 이해하기3 (공식문서 참고)

api 에 mutation 추가하기 mutation 이란 Mutation 은 데이터베이스 상태가 변할 때 사용되는 것이다. mutation 을 설정하는 context 와 입력 받는 인자와 같은 arg 에 대해서 배워볼 것이다. Writing GraphQL mutations Exposing GraphQL objects for mutation operations Working with GraphQL Context Working with GraphQL arguments context 연결 https://nexusjs.org/docs/getting-started/tutorial/chapter-adding-mutations-to-your-api/ 3. Adding mutations to your API 3. Ad..

🌸 GraphQL 2022.02.26

nexus 이해하기1 (공식문서 참고)

graphql nexus 를 치면 인강도 없고.. 자료도 없다. 공식 문서조차 영어로 되어 있어서 이해하기 어렵다. 그래서 1도 모르는 nexus 사용자들을 위해 내가 번역해보고 이해해본다. 참고로 graphQL 의 기초 지식이 있어야 더 잘 이해할 수 있을 것이다. 또한 공식문서를 여러번 읽어보면 설명이 잘 되어있음을 느낀다. 공식문서를 읽고 느낀 점은... nexus 를 통해 graphQL 의 스키마를 작성할 수 있는 것 같다. 그리고 prisma 를 통해 데이터베이스 마이그레이션을 한다. The nexus package The ts-node-dev package to run your app Nexus project 레이아웃과 실행 GraphQL Playground 설치 -> p..

🌸 GraphQL 2022.02.26