我正在使用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);
}