gpt4 book ai didi

graphql - 删除突变的结果?

转载 作者:行者123 更新时间:2023-12-02 19:19:43 25 4
gpt4 key购买 nike

Graphql 中删除突变的结果应该是什么?我正在使用 graphql-ruby gem。这是我的突变示例,但我只是不确定应该返回什么作为响应。

Mutations::Brands::Delete = GraphQL::Relay::Mutation.define do
name "DeleteBrand"
description "Delete a brand"

input_field :id, types.ID

# return_field ??

resolve ->(object, inputs, ctx) {
brand = Brand.find(inputs[:id])
brand.destroy
}
end

最佳答案

我认为截至 2017 年 7 月还不存在明确的事实上的标准,而且我发现实现之间存在很多差异(GitHub、Yelp、GraphCool、Shopify)。

但是,如果您查看最近出现的一些 GraphQL API,您会发现似乎存在一个共同趋势。很大程度上,输入类型和响应类型特定于突变。例如,对于 updateBrand 突变,您可能期望一个 UpdateBrandInput,并返回一个 UpdateBrandPayload 响应。请注意,输入不是 BrandInput,并以 Brand 进行响应。您也不会使用标量 bool 值(例如,true 如果成功)或已删除实体的 id 进行响应(在删除突变的情况下)。根据此约定,您可以有一个 createBrand 突变,其中包含 CreateBrandInputCreateBrandPayload 响应。

通过创建特定于突变的输入有效负载类型,您可以在期望和响应的字段中拥有很大的灵 active 。每次删除时,您可能会收到一个 DeleteBrandPayload 响应,该响应不仅包含品牌的浅层(例如仅标量)字段,还包含其他相关数据(例如 clientMutationId),等等..

说实话,我认为 GraphQL 规范提供了足够的绳索让你自己上吊,所以明智的做法是看看一些大佬是如何推出这个的。

关于graphql - 删除突变的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com