graphql - 我是否应该在 graphql 模式文件中将每个对象写为 'input' 和 'type' 两次

标签 graphql graphql-java

我必须在 GraphQL 中使用 Java 对象来响应和请求。

我是否必须在 GraphQL 模式文件中将每个对象写为“输入”和“类型”两次?用于在请求和响应中获取该对象。

我应该使用输入和类型两次定义同一个对象吗?

文件:test.graphqls

input Employee {
  id: Integer
  name: String
  dept: String
  active: String
}

type Employee {
  id: Integer
  name: String
  dept: String
  active: String
}

最佳答案

是的,因为输入和输出类型的类型系统规则非常不同。输入类型不能是联合,不能实现接口(interface)等,所以你不能简单地为这两个目的使用相同的定义。

此外,你必须给每个类型一个唯一的名字 .所以应该是EmployeeEmployeeInput例如。

关于graphql - 我是否应该在 graphql 模式文件中将每个对象写为 'input' 和 'type' 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48787135/

相关文章:

javascript - GraphQL.js - 时间戳标量类型?

graphql - Apollo/React 改变两个相关表

javascript - 将 Lambda 函数添​​加到 AWS AppSync 数据源?

java - 如何在graphql中查询两个日期

graphql - 响应式(Reactive) GraphQL

spring-boot - GraphQL 测试返回 404 未找到

android - 使用适用于 Android 的 apollo graphql 客户端?

java - Graphql 接受用户定义对象列表

amazon-web-services - 将 CloudFormation 参数传递给 AppSync Resolver

graphql - 如何按Graphql查询结果分组