我尝试执行Graphql客户端查询。遗憾的是,我找不到任何关于如何使用动态图QL客户端进行简单变异的文档或示例。这是文件https://quarkus.io/guides/smallrye-graphql-client.
mutation mut {
add(p: {
amount: {0},
fromCurrencyId: {1},
reference: {2},
terminalKey: {3},
toCurrencyId: {4}
}) {
address
toCurrencyAmount
rate
createdAt
expireAt
}
}
{0}..{4} 是可变占位符。有人知道如何使用DynamicGraphlQlClient执行这个查询吗?
谢谢
按照Eclipse微文件API声明了服务器端变异,如下所示:
@GraphQLApi
@ApplicationScoped
public class MyGraphQLApi {
@Mutation
public OutputType add(@Name("p") InputType p)) {
// perform your mutation and return result
}
}
然后,您可以声明性地使用DynamicGraphQLClient
来执行突变,使用DynamicGraphQLClient#ExectteSync
方法和在您的突变结构之后构造的io.smallrye.graphql.client.core.Document
:
@Inject
private DynamicGraphQLClient client;
public void add() {
Document document = document(
operation(
OperationType.MUTATION,
"mut",
field(
"add",
arg(
"p",
inputObject(
prop("amount", "amountValue"),
prop("fromCurrencyId", "fromCurrencyIdValue"),
prop("reference", "referenceValue"),
prop("terminalKey", "terminalKeyValue"),
prop("toCurrencyId", "toCurrencyIdValue"),
)
),
field("address"),
field("toCurrencyAmount"),
field("rate"),
field("createdAt"),
field("expireAt")
)
)
);
JsonObject data = client.executeSync(document).getData();
System.out.println(data.getString("address"));
}
我在服务器上使用GraphQL和mongoose。 当发生验证错误时,GraphQL突变发送状态代码为200的响应。在客户端,响应如下所示: 我想使用阿波罗客户端突变promise的功能访问验证错误。类似: 如何做到这一点?
我有以下代码,我正在尝试决定如何处理错误: 服务器发回一个GraphQL错误对象,并将其发回,使其出现在突变的块中。如果变异成功,组件的数据将使用参数更新,但我看不到处理错误的等价方法。 理想情况下,我希望更新块中的Apollo缓存,但在这一点上,我甚至不能向组件或状态注入道具。 最终的结果是在Register组件上设置一个prop/state,它显示了一个带有条件呈现的错误消息组件。一种方法可以
在后端,我进行了调试,并收到了请求,它根据客户机上设置的令牌查找用户,但随后什么也不做,只在我试图从应用程序发送时返回给我400,在graphiql浏览器上。 我错过了什么?非常感谢。
我在web服务器上使用apollo客户端与graphql服务器(也是apollo)通信。我有一个成功的查询,可以正常工作和检索数据,但当我尝试变异时,我会收到新的Apollo错误消息。复制/粘贴到graphiql中的相同突变非常有效。 我已经检查了graphql服务器上的CORS,它已启用并正常运行。我已经将代码中的变体复制并粘贴到graphiql编辑器中,它按预期工作。 有人能为我解释一下吗,或
问题内容: 我在状态中存储了一堆信息,我需要使用变异将其传递到我的graphQL服务器,但是在调用下一个变异之前,我需要使用每个变异的结果,因为我需要: 在数据库中创建一个新对象 使用为该对象生成的ID创建另一个对象 修改原始对象以存储第二个对象生成的ID 我注意到apollo Mutation组件具有onCompleted回调,但是我不知道如何使用此回调来触发另一个突变,或者这是否是解决我的问题
最近开始使用graphQL和Apollo-Apollo客户端。 我在graph QL之上构建了一个Web服务,它运行得很好。我面临的唯一问题是项目的客户端。例如(请参阅下面的代码),在运行createVideo()后,我的组件的属性是可观察的,它正在观察查询不会自动刷新,并且在回调上手动调用apollo.query似乎没有任何效果,因为查询返回缓存的结果,而不是来自服务器的结果。 我错过什么了吗?