我正在使用swagger定义API . 我有一个特定的操作应该返回这样的东西 .

{"isDeviceLoaded":true,"loadedDeviceProperties":  {"deviceType":"Gadget","deviceProp1":0,"deviceLoadedConfigurations":[{"width":0,"length":0,"distanceToTopLeft":0}]}}

问题是当“isDeviceLoaded:false”我不想返回所有属性时,所以在这种情况下返回值应该只是 .

{"isDeviceLoaded":false}

我将我的模型定义如下Swagger - Specify Optional Object Property or Multiple Responses

DeviceMediaStatus: 
type: "object"
required: ["isDeviceLoaded"]
properties: 
  isDeviceLoaded: 
    type: "boolean"
  loadedDeviceProperties: 
    type: "object"
    $ref: "#/definitions/LoadedDeviceProperties"

但在我的代码中,我尝试只返回isDeviceLoaded属性,我得到的响应验证失败 . 这就是我在JS中所做的事情,“对象”拥有数据 .

if(object.LoadedDeviceStatus.isDeviceLoaded){
      response = object.LoadedDeviceStatus;
      res.status(200).send(response);
  }else{
      response = object.LoadedDeviceStatus.isDeviceLoaded;
      res.status(200).send(response);
  }