日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java+object+graph,graphql-go:使用Object作为查询的输入参数

發布時間:2025/1/21 编程问答 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java+object+graph,graphql-go:使用Object作为查询的输入参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我試圖將一個對象作為參數傳遞給查詢(而不是標量) . 從文檔看來,這應該是可能的,但我無法弄清楚如何使其工作 .

我正在使用graphql-go,這是測試模式:

var fileDocumentType = graphql.NewObject(graphql.ObjectConfig{

Name: "FileDocument",

Fields: graphql.Fields{

"id": &graphql.Field{

Type: graphql.String,

Resolve: func(p graphql.ResolveParams) (interface{}, error) {

if fileDoc, ok := p.Source.(data_format.FileDocument); ok {

return fileDoc.Id, nil

}

return "", nil

},

},

"tags": &graphql.Field{

Type: graphql.NewList(tagsDataType),

Args: graphql.FieldConfigArgument{

"tags": &graphql.ArgumentConfig{

Type: tagsInputType,

},

},

Resolve: func(p graphql.ResolveParams) (interface{}, error) {

fmt.Println(p.Source)

fmt.Println(p.Args)

if fileDoc, ok := p.Source.(data_format.FileDocument); ok {

return fileDoc.Tags, nil

}

return nil, nil

},

},

},

})

我正在嘗試使用的輸入類型(我已嘗試過InputObject和標準對象)

var tagsInputType = graphql.NewInputObject(graphql.InputObjectConfig{

Name: "tagsInput",

Fields: graphql.Fields{

"keyt": &graphql.Field{

Type: graphql.String,

},

"valuet": &graphql.Field{

Type: graphql.String,

},

},

})

這是我用來測試的graphql查詢:

{

list(location:"blah",rule:"blah")

{

id,tags(tags:{keyt:"test",valuet:"test"})

{

key,

value

},

{

datacentre,

handlerData

{

key,

value

}

}

}

}

我收到以下錯誤:

wrong result, unexpected errors: [Argument "tags" has invalid value {keyt: "test", valuet: "test"}.

In field "keyt": Unknown field.

In field "valuet": Unknown field.]

問題是,當我將類型更改為字符串時,它工作正常 . 如何將對象用作輸入arg?

謝謝!

總結

以上是生活随笔為你收集整理的java+object+graph,graphql-go:使用Object作为查询的输入参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。