使用graphql查询Springboot rest api响应



是否可以查询Json,这是一个Rest端点响应并过滤掉所需的字段?来自springboot rest端点的Json响应示例->api/getProductDetails如下,

{
"account": "JV-013",
"productDetails": [
{
"productId": 1,
"productName": "birew",
"productVersion": [
"v1.0",
"v2.0"
],
"productOwner": [
{
"ownerName": "John",
"ownerMail": "john34@yahoo.com"
},
{
"ownerName": "Pav",
"ownerMail": "pavghig@yahoo.com"
}
]
},
{
"productId": 1,
"productName": "rowa",
"productVersion": [
"v1.0",
"v2.0"
],
"productOwner": [
{
"ownerName": "John",
"ownerMail": "john34@yahoo.com"
},
{
"ownerName": "Rias",
"ownerMail": "rias765@yahoo.com"
}
]
}
]
}

使用另一个rest端点或修改现有端点想要使用graphql过滤掉响应,例如,如果我只想要带有OwnerName字段的productOwner单独的所有产品/singleProduct的详细信息,我的响应应该低于

{
"productDetails": [
{
"productId": 1,
"productOwner": [
{
"ownerName": "John"
},
{
"ownerName": "Pav"
}
]
},
{
"productId": 1,
"productOwner": [
{
"ownerName": "John"
},
{
"ownerName": "Rias"
}
]
}
]
}

有人能帮帮忙吗?

我尝试使用graphql端点。但是使用springboot rest endponit可以实现

只有GraphQL允许客户端完全驱动哪些字段将出现在响应中。

对于一个典型的Spring MVC应用程序,你可以使用JSON视图以不同的方式序列化你的对象。现在,与GraphQL不同的是,客户机将无法使用请求DSL选择响应内容。您可以通过使用不同的控制器方法来选择JSON视图:
  • 通过更改请求路径
  • 请求参数
  • 使用不同的自定义媒体类型,如application/vnd.product.light+json,application/vnd.product+json

相关内容

  • 没有找到相关文章

最新更新