Servicenow REST-API 在出现业务逻辑错误时返回 200 Ok

问题描述 投票:0回答:2

我正在使用 servicenow rest-api 来更新 sys_user 表条目。我对家庭电话字段有列约束,这是强制性的。但是,当发送更新请求使家庭电话为空时,servicenow 接受该请求并更新用户并返回 200 OK 响应。 我还尝试使用业务规则添加此验证并在脚本中引发异常,但服务现在忽略它。

我希望服务在这种情况下立即返回错误响应。可以吗?

servicenow
2个回答
0
投票

我建议使用导入集和导入 API,而不是表 API。通过使用导入集,您可以通过多种方法轻松控制导入:

  • 您可以通过字典在表上设置强制字段来强制强制字段,如果在导入集上选中强制强制字段框,它将拒绝(但这可能不会阻止空条目)
  • 如果出现空值,您可以使用转换映射来使某些字段成为必需的(导入集必需的,但它们在目标表上可能不是必需的),然后您可以将脚本应用于字段来操作它或基于拒绝使用 JSUtil.notNil(source.home_phone) 等函数对其内容进行处理。
    • 您还可以应用 onBefore Transform 脚本。例如:这将导致 API 使用自定义错误消息进行响应
      
      // if home phone is not null, undefined, Nan, empty string (""), 0 or false this evalutes to true.
      if (source.home_phone) { error = false; } else{ error_message = "Home Phone is a required field"; error = true;" }

0
投票

在字段映射中使字段合并。

© www.soinside.com 2019 - 2024. All rights reserved.