SuiteCrm Rest API:调用POST或PUT时,JSON正文属性引发错误

时间:2018-11-20 16:11:34

标签: rest suitecrm

我正在使用邮递员来调用SuiteCRM REST API。

我试图称呼这个端点

PATCH http://{{suitecrm-url}}/Api/V8/module

并且我已将此有效负载添加到主体(内容类型:Application / Json):

{
  "data": {
    "type": "Accounts",
    "id": "3a3ae651-d509-2508-7dc4-5be2e51cc96b",
    "attributes": {
        "name": "name with space"
    }
  }
}

执行请求时,SuiteCRM会给出以下响应:

{
  "errors": {
    "status": 400,
    "title": null,
    "detail": "The option \"attributes\" with value array is invalid."
  }
}

我发现问题出在值中的空白:当我尝试使用值“ namewithspace”时,它起作用了。

有人知道如何解决这个问题吗?

预先感谢

1 个答案:

答案 0 :(得分:2)

我在github上发现了解决此问题的问题:

https://github.com/salesagility/SuiteCRM/issues/6452

简而言之,要使其正常工作,我必须在其中修改文件

/Api/V8/Params/Options/Fields.php

并替换此行

const REGEX_FIELD_PATTERN = '/[^\w-,]/';

使用

const REGEX_FIELD_PATTERN = '/[^\w-,\s\]/';

在github中提到的人:

  

这只是为了临时修复,并不安全升级