99designs / 99designs/gqlgen

Federation entity resolver generation

未关闭
#1,454 4 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
accepted bug
主要语言
Go
星标
10.8k
派生
1.3k
平均合并
2 天 36 分钟
30 天内合并 PR
26

描述

A combination of https://github.com/99designs/gqlgen/issues/1388 & https://github.com/99designs/gqlgen/issues/1429

### What happened?
`{Entity}Resolver`'s are not generated (example [example/federation/reviews/graph/schema.resolvers.go](https://github.com/99designs/gqlgen/blob/master/example/federation/reviews/graph/schema.resolvers.go#L13-L44)) without specifying an explicit custom model (e.g. [example/federation/reviews/graph/model/models.go](https://github.com/99designs/gqlgen/blob/master/example/federation/reviews/graph/model/models.go))

Replication in the examples:

```
cd example/federation/reviews
rm graph/model/models.go
go generate server.go
```

```
validation failed: packages.Load: gqlgen/example/federation/reviews/graph/schema.resolvers.go:38:40: ProductResolver not declared by package generated
gqlgen/example/federation/reviews/graph/schema.resolvers.go:41:37: UserResolver not declared by package generated

exit status 3
```

### What did you expect?

I expected that generated Entitys would also generate the EntityResolver's? Is this not the case by design?

### Minimal graphql.schema and models to reproduce

```
type Review {
body: String!
}

extend type User @key(fields: "id") {
id: ID! @external
reviews: [Review]
}
```

### versions
- `gqlgen version`? v0.13.0
- `go version`? 1.14
- dep or go modules?


### Notes
Looking into the code a little more, I assume the issue is arising from `codegen/config/config.go` - `Init()`

贡献指南

打开贡献指南

调研方向

问题出在 federation 示例中;首先检查 example/federation/reviews/graph/schema.resolvers.go 和生成的代码。问题可能与 config.go 的 Init() 方法有关。运行复现步骤以查看验证错误,然后跟踪在没有自定义模型时实体解析器是如何生成的。检查 federation 代码生成逻辑,以了解缺失的解析器生成。

由索引模型根据 Issue 内容生成。

评估

技术栈
go
领域
backend-api-design
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。