SuiteCrm Rest API: JSON 正文属性在调用 POST 或 PUT 时抛出错误
SuiteCrm Rest API: JSON Body attributes throws error when calling POST or PUT
我正在使用邮递员来调用 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" 时,它起作用了。
有人知道如何解决这个问题吗?
提前致谢
我在 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中提到的人:
this is just for temporary fix and not upgrade safe
我正在使用邮递员来调用 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" 时,它起作用了。
有人知道如何解决这个问题吗?
提前致谢
我在 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中提到的人:
this is just for temporary fix and not upgrade safe