Javascript 如何用GraphQL包装RESTAPI后期嵌套对象
如果可能的话,我试图找出如何用graphql变体包装嵌套对象。例如,我有以下模式:Javascript 如何用GraphQL包装RESTAPI后期嵌套对象,javascript,node.js,rest,graphql,wrapper,Javascript,Node.js,Rest,Graphql,Wrapper,如果可能的话,我试图找出如何用graphql变体包装嵌套对象。例如,我有以下模式: type Equipment{ assetId: ID assetName: String assetTag: String createdAt: String updatedAt: String available: Boolean category: Category purchaseAt: String purchaseCost: Float ser
type Equipment{
assetId: ID
assetName: String
assetTag: String
createdAt: String
updatedAt: String
available: Boolean
category: Category
purchaseAt: String
purchaseCost: Float
serial: String
notes: String
}
type Category{
categoryId: ID,
name: String
}
type Mutation {
equipamento( e: EquipmentInput): Equipment
}
input EquipmentInput{
assetName: String
assetTag: String
available: Boolean
purchaseAt: String
category: CategoryInput
purchaseCost: Float
serial: String
notes: String
}
input CategoryInput{
categoryId: ID
name : String
}
这是休息后的电话。这个电话有效
{
"assetName": "Dell Laptop E5570",
"assetTag": "A0001",
"available": false,
"category":{
"categoryId": 1
} ,
"purchaseAt": "2018-09-10",
"purchaseCost": 1200.00,
"serial": "Serial",
"notes": "Novo"
}
我试图使用GraphQL瑜伽在GraphQL上做一个等价的操作,但category是一个嵌套对象,REST服务上的create调用失败
equipamento: (parent, args) => {
const equipment = {
assetName: args.e.assetName,
assetTag: args.e.assetTag,
available: args.e.available,
category: args.e.category.categoryId,
purchaseAt: args.e.purchaseAt,
purchaseCost: args.e.purchaseCost,
serial: args.e.serial,
notes: args.e.notes
}
return fetch(`${equipmentURL}/`, {
method: 'POST',
body: JSON.stringify(equipment),
headers: { 'Content-Type': 'application/json' }
}).then(res => res.json());
}```
Console Log for the GraphQL is
```{"assetName":"Dell Laptop E5570","assetTag":"A0001","available":false,"category":1,"purchaseAt":"2018-09-10","purchaseCost":1200,"serial":"Serial","notes":"Novo"}```
So the question is, how can i format my mutation to have nested object?
category:{categoryId:args.e.category.categoryId},
非常感谢@xadm您的解决方案比我做的更好category:JSON.parse(“{”categoryId:“+args.e.categoryId.categoryId+”)
:D您可以尝试在一行中完成它(因为属性名称相同):const-equipment={…args.e,category:{categoryId:args.e.category.categoryId};
好的,谢谢@xadm。如果你想提供更多提示,这是[项目]()的链接。类别:{categoryId:args.e.categoryId.categoryId},
非常感谢@xadm你的解决方案比我做的要好category:JSON.parse(“{”categoryId:“+args.e.categoryId.categoryId+”)
:D您可以尝试在一行中完成此操作(因为属性名称相同):const-equipment={…args.e,category:{categoryId:args.e.category.categoryId};
好的,谢谢@xadm。如果您想提供更多提示,这是[project]()的链接。