Javascript 如何用GraphQL包装RESTAPI后期嵌套对象

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

如果可能的话,我试图找出如何用graphql变体包装嵌套对象。例如,我有以下模式:

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]()的链接。