亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤的類型接口實現

錯誤的類型接口實現

Go
偶然的你 2023-08-07 11:04:21
我正在嘗試按照Prisma 的指南來設置 GraphQL Go 服務器。解析器.gopackage mainimport (? ? "context"? ? "prismago/hello-world/generated/prisma-client")// Resolver structtype Resolver struct {? ? Prisma *prisma.Client}// Mutation MutationResolverfunc (r *Resolver) Mutation() MutationResolver {? ? return &mutationResolver{r}}// Post PostResolverfunc (r *Resolver) Post() PostResolver {? ? return &postResolver{r}}// Query QueryResolverfunc (r *Resolver) Query() QueryResolver {? ? return &queryResolver{r}}// User UserResolverfunc (r *Resolver) User() UserResolver {? ? return &userResolver{r}}type mutationResolver struct{ *Resolver }func (r *mutationResolver) CreateUser(ctx context.Context, name string) (*prisma.User, error) {? ? return r.Prisma.CreateUser(prisma.UserCreateInput{? ? ? ? Name: name,? ? }).Exec(ctx)}func (r *mutationResolver) CreateDraft(ctx context.Context, title string, userID string) (*prisma.Post, error) {? ? return r.Prisma.CreatePost(prisma.PostCreateInput{? ? ? ? Title: title,? ? ? ? Author: &prisma.UserCreateOneWithoutPostsInput{? ? ? ? ? ? Connect: &prisma.UserWhereUniqueInput{ID: &userID},? ? ? ? },? ? }).Exec(ctx)}func (r *mutationResolver) Publish(ctx context.Context, postID string) (*prisma.Post, error) {? ? published := true? ? return r.Prisma.UpdatePost(prisma.PostUpdateParams{? ? ? ? Where: prisma.PostWhereUniqueInput{ID: &postID},? ? ? ? Data:? prisma.PostUpdateInput{Published: &published},? ? }).Exec(ctx)}type postResolver struct{ *Resolver }func (r *postResolver) Author(ctx context.Context, obj *prisma.Post) (*prisma.User, error) {? ? return r.Prisma.Post(prisma.PostWhereUniqueInput{ID: &obj.ID}).Author().Exec(ctx)}type queryResolver struct{ *Resolver }func (r *queryResolver) PublishedPosts(ctx context.Context) ([]prisma.Post, error) {? ? published := true? ? return r.Prisma.Posts(&prisma.PostsParams{? ? ? ? Where: &prisma.PostWhereInput{Published: &published},? ? }).Exec(ctx)}
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

修改generated.go文件接口以接受返回的[]prisma.Post而不是[]*prisma.Post.

改變:

type UserResolver interface {
    Posts(ctx context.Context, obj *prisma.User) ([]*prisma.Post, error)
}

到:

type UserResolver interface {
    Posts(ctx context.Context, obj *prisma.User) ([]prisma.Post, error)
}


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號