Angular Apollo:错误:GraphQL 错误:“Mutation”类型的字段“AuthLogin”上的未知参数“用户名”

Posted

技术标签:

【中文标题】Angular Apollo:错误:GraphQL 错误:“Mutation”类型的字段“AuthLogin”上的未知参数“用户名”【英文标题】:Angular Apollo: Error: GraphQL error: Unknown argument "username" on field "AuthLogin" of type "Mutation" 【发布时间】:2020-10-26 07:03:54 【问题描述】:

我的 Angular 应用程序出现此错误,使用 apollo for graphql

ERROR Error: GraphQL error: Unknown argument "username" on field "AuthLogin" of type "Mutation".

mutations.ts

import gql from 'graphql-tag';

export const AuthLogin = gql`
  mutation($username: String, $password: String) 
    AuthLogin(username: $username, password: $password) 
      auth
     
  `;

login.component.ts


import AuthLogin from '../mutations';

this.apollo.mutate(
        mutation: AuthLogin, variables:  username: this.username, password: this.password 
      ).subscribe( (data) => 
        console.log(data)
      );

后端 schema.graphql

input LoginInput 
    username: String!
    password: String!


type Mutation 
    AuthLogin(data:LoginInput): AuthResolver

【问题讨论】:

我认为你必须添加这两个字段都需要像这样mutation($username: String!, $password: String!) 感谢您的回答@JayParmar,但它并没有解决问题:( 【参考方案1】:

解决了!此处缺少 data: ... 类型:

export const AuthLogin = gql`
  mutation AuthLogin($username: String!, $password: String!) 
    AuthLogin( data: username: $username, password: $password ) 
      auth
     
  `;

【讨论】:

以上是关于Angular Apollo:错误:GraphQL 错误:“Mutation”类型的字段“AuthLogin”上的未知参数“用户名”的主要内容,如果未能解决你的问题,请参考以下文章

Angular Apollo 客户端返回错误请求

如何使用 apollo 客户端在 graphql 的角度处理错误?

Apollo GraphQL 错误:必须提供查询根类型

angular, apollo-client, graphQL - 从 graphql 查询中选择所有字段

订阅未定义的错误处理 - Apollo 和 Angular 2

使用 graphql 和 apollo 客户端刷新 Angular 令牌