我知道突变是连续的,所以对我来说,如果突变1创建了一个实体并返回一个id,那么突变2应该可以访问该id。然而,我在网上看不到任何示例,而且似乎无法让它工作。我看到人们说你需要在你的路由的resolve函数中处理这个,但是如果我能在查询中得到它,这似乎是额外的不必要的代码。
例如,我有以下内容,其中帐户属于客户端,因此在创建之前需要clientId。然而,这不起作用。
mutation createClientAndAccount($account: AccountInput, $client: ClientInput){
createClient(client: $client){ clientId }
createAccount(account: $account, clientId: USE_CLIENT_ID_FROM_ABOVE) { ... }
}我也尝试过嵌套突变,但也没有太多的运气...
我想要做的事情是可能的吗?createAccount的resolve函数是否具有从createClient返回的数据
发布于 2017-06-09 16:12:40
现在这是不可能的,尽管这会很有用。
参见this PR。
发布于 2022-01-09 13:24:05
也许使用custom schema directive我们可以做到这一点。
Schema stitching将是一种更好的方法(尽管通常在API Gateway中用于合并来自不同服务的API时它是首选的)。
如果您的应用程序中很少有这种需求,那么只需创建一个可以同时执行两个CreateClientAndAccount的新应用程序接口就足够了。
https://stackoverflow.com/questions/44441566
复制相似问题