【问题标题】:Handle missing properties in a general purpose api using javascript使用 javascript 处理通用 api 中缺少的属性
【发布时间】:2018-03-23 17:05:08
【问题描述】:

我正在使用一个通用 REST api,它恰好排除值为空的属性(Spring Jackson @JsonInclude(Include.NON_NULL))

由于我只是使用 Javascript(vue.js 和 axios)并且通常不知道可能返回或可能不返回的内容,因此处理 axios 中缺少的属性的最佳方法是什么

response.data.expectedProprtyIsNotThere

以一种通用的方式,以便可以将其应用于所有响应对象而无需任何额外的代码或重复?我想我可能会接受默认值为 null 或空字符串。

我没有使用任何 sdk,而是直接使用响应数据对象。

【问题讨论】:

  • 您能否显示您正在检索潜在的null 或不存在的属性的代码?我建议使用三元 (let variableName = response.data.expectedProperty ? response.data.expectedProperty : sensibleDefaultValueIfPropertyAbsent;),但这可能取决于丢失的数据类型。

标签: javascript vue.js axios


【解决方案1】:

你可以创建一个默认响应

var default = {...};

在您使用回复之前,您使用Object.assign() 插入缺少的属性:

response = Object.assign({},default,response);

【讨论】:

  • 很好的解决方案,默认属性和属性的默认值。我刚开始在其他领域使用 Object.assign,这里忽略了这个选项。
猜你喜欢
  • 2020-01-08
  • 1970-01-01
  • 2013-10-12
  • 2017-07-22
  • 1970-01-01
  • 2018-09-26
  • 2021-09-20
  • 1970-01-01
  • 2020-10-06
相关资源
最近更新 更多