什么是将变量传递到GraphQl中突变的正确语法



我有一个反应本机应用程序。

graphQl中的正确语法是什么,以将变量传递到 customercreate

const url = 'https://xxxx.myshopify.com/api/graphql';
const query = `
    var variable = {
          "input": {
          "email": "test@test.com",
          "password": "pass"
          }
    }
    mutation customerCreate($input: CustomerCreateInput!) {
      customerCreate(input: $input) {
        userErrors {
          field
          message
        }
        customer {
          id
        }
      }
    }
`;
fetch(url, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: query }),
})
.then(res => res.json())
.then(res => console.log(res.data));
.catch(err => {
    console.log('-- gql err --')
    console.error(err);
})

将变量传递到突变的一种方法可以是做:

const url = 'https://xxxx.myshopify.com/api/graphql';
const query = `
    mutation customerCreate($input: CustomerCreateInput!) {
      customerCreate(input: $input) {
        userErrors {
          field
          message
        }
        customer {
          id
        }
      }
    }
`;
fetch(url, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ 
        query: query,
        variables: {
           input: {
             email: "test@test.com",
             password: "pass"
           }
        }, 
    }),
})
.then(res => res.json())
.then(res => console.log(res.data));
.catch(err => {
    console.log('-- gql err --')
    console.error(err);
})

,只需确保JSON.stringify中的variables对象必须匹配CustomerCreateInput类型。

相关内容

  • 没有找到相关文章

最新更新