我对 GraphQL 和无头 CMS 的概念完全陌生,只从头开始构建了自己的 REST API。
我已经使用 Keystone v6 构建了一个基本 API,可以说我有一个产品架构,如下所示:
export const Item = list({
fields: {
name: text({ validation: { isRequired: true } }),
description: text(),
photos: relationship({
ref: 'ProductImage.listing',
many: true,
}),
category: relationship({
ref: 'Category.listings',
many: false,
}),
dateCreated: timestamp({
defaultValue: { kind: 'now' },
}),
brand: text(),
model: text(),
size: text(),
slug: text(),
},
});
Run Code Online (Sandbox Code Playgroud)
酷,有效......现在说我希望在使用诸如““this-item-name”+“-”+“id””之类的内容创建产品时自动填充 slug,我无法弄清楚/如何这样做或 b/ 甚至从惯例的角度来看。
我的假设是我会使用defaultValue文本字段的属性?或者这是否与突变有关(我还没有很好地理解这个概念)……如果是这样,我无法弄清楚在样板 Keystone 应用程序中我什至会编写突变。
非常感谢任何指点。