登录
首页 >  Golang >  Go问答

Resolver.ModuleName 返回的参数过多

来源:stackoverflow

时间:2024-04-27 11:36:36 391浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Resolver.ModuleName 返回的参数过多》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在致力于将单体架构分解为微服务架构。 我这样做了,但是当我在当前存储库中构建代码时,我收到此错误。

我们使用 graphql-gophers 库

panic:(Resolver)返回的参数过多。Dummy

有人在golang中使用graphql查询时见过这个错误吗?

尝试了很多方法,但没有任何效果。

如有任何帮助,我们将不胜感激


正确答案


错误消息来自graph-gophers/graphql-go internal/exec/resolvable/resolvable.go#makeFieldExec

当您解析与现有结构的字段不匹配的架构时,会调用它。

example/customerrors/starwars.go 中所示的确实匹配每个字段,并且不会触发错误消息:

var schema = `
    schema {
        query: query
    }
    type query {
        droid(id: id!): droid!
    }
    # an autonomous mechanical character in the star wars universe
    type droid {
        # the id of the droid
        id: id!
        # what others call this droid
        name: string!
    }
`

type droid struct {
    id   graphql.id
    name string
}

Its resolver 确实使用了正确的参数:

type Resolver struct{}

func (r *Resolver) Droid(args struct{ ID graphql.ID }) (*droidResolver, error) {
    if d := droidData[args.ID]; d != nil {
        return &droidResolver{d: d}, nil
    }
    return nil, &droidNotFoundError{Code: "NotFound", Message: "This is not the droid you are looking for"}
}

尝试使用该示例来检查它是否有效,然后修改它以转换为您自己的代码。

今天关于《Resolver.ModuleName 返回的参数过多》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>