如何重用GraphQL接口描述

时间:2018-04-24 10:19:42

标签: graphql

假设我有以下GraphQL SDL:

interface Person {
  # describes how the person is called
  name: String
}

type Student implements Person {
  # describes how the person is called
  name: String
}

如何重用/避免重复注释行?

1 个答案:

答案 0 :(得分:1)

假设您使用的是GraphQL.js,如果您的类型定义是使用模板文字定义的,那么您可以执行以下操作:

const personComment = '# describes how the person is called'

const typeDefs = `
interface Person {
  ${personComment}
  name: String
}

type Student implements Person {
  ${personComment}
  name: String
}
`

如果您要导入gql文件,则可能需要获得更多广告素材并使用string-template等库。

您可以使用相同的方法来减少字段的重复(例如,跨类型及其相应的输入类型)。但是,对于它的价值,您可能会发现这样做会降低您的架构的可读性,并且可能不值得为了让事情变得干燥。