在schema.graphqls中创建类型时,如何用graphqlSDL语言表示*[]字符串



我正在创建一个graphqlapi,但在为Golang使用gqlgen时遇到了问题,我需要表示如下:

type Pets struct  {
multiEan  *[]string
}

或多或少进入这个:

type Pets  {
multiEan: [String!]
}

我的想法是当我运行命令时:

go run github.com/99designs/gqlgen generate

我得到了框架给出的golang结构表示,但没有使用我需要的*[]字符串指针,我只得到了[]字符串的一个原始切片,有什么解决方法吗?

Gqlgen为您生成Go结构,因此您必须使用它提供的内容。在给定GraphQL模式的情况下,说我希望它生成其他东西是没有意义的。你可以调整你的模式以获得不同的类型,但实际上你设计了模式,然后使用gqlgen从中生成的类型

也就是说,如果你的multiEan解析器应该可以为null,那么你需要一个额外的感叹号(!(:

type Pets  {
multiEan: [String!]!
}

然而,由于Go切片是引用类型(可以指定为nil(,因此仍然不会生成指向切片的指针。如果你需要在其他地方使用指向切片的指针,那么你可以只取它的地址。也许你可以共享更多的代码,这样我们就可以看到你在尝试做什么。

相关内容