2015-12-09 2 views
0

Я использую servicenow rest-api для обновления записи таблицы sys_user. У меня есть ограничение столбца на поле Домашний телефон, это обязательно. Но при отправке запроса на обновление, которое делает Домашний телефон пустым, servicenow принимает этот запрос и обновляет пользователя и возвращает ответ 200 OK. Я также попытался использовать бизнес-правила, чтобы добавить это подтверждение и выбросить исключение в скрипт, но служба теперь игнорирует его.Servicenow REST-API возвращает 200 Ok в случае ошибок бизнес-логики

Я хочу, чтобы служба теперь возвращала ошибку в ответ в таких случаях. Является ли это возможным?

ответ

0

Я бы предложил использовать набор импорта и API импорта вместо API таблицы. Используя набор импорта вы можете легко контролировать импорт с помощью нескольких методов:

  • Вы можете применять обязательные для заполнения поля, устанавливая поле обязательное на столе с помощью словаря, и если применять обязательные для заполнения поля флажок на импорт установить его (но это может не останавливать пустые записи)
  • Если значения NULL скользят, вы можете использовать карту преобразования, чтобы сделать определенные поля необходимыми (требуется для набора импорта, но они могут не быть обязательными в целевой таблице), а затем вы может применить сценарий к полю для его манипулирования или отклонить на основе его содержимого с помощью таких функций, как 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;" }