在我的自定义Integromat应用中使用不同的错误结构进行错误处理

问题描述

我有一个API,可针对不同的端点和状态码返回不同的错误结构。有时是字符串,有时是复杂对象或数组。由于Integromat要求所有错误处理都必须在Base中而不是在模块中的一个地方进行,因此如何正确实现呢? 情况1

import 'core-js/es7/array';

案例2

  "data": {
    "error": {
      "user_ids.0": [
        "The user_ids.0 must be an integer."
      ]
    }
  }

解决方法

可以使用JavaScript函数来处理响应并获取错误消息。请看下面的例子:

基础

{
"response": {
        "output": "...","error": "{{parseErrorMessage(body)}}"
    }
}
function parseErrorMessage(body) {
  if ('string' === typeof body.data) return body.data;

  ...
}

默认情况下,自定义JS是禁用的,请与我们的支持联系以启用它。参考:https://docs.integromat.com/apps/app-structure/iml-functions