SuiteCrm Rest API: атрибуты тела JSON выдают ошибку при вызове POST или PUT - PullRequest
0 голосов
/ 20 ноября 2018

Я использую почтальон для вызова SuiteCRM REST API.

Я попытался вызвать эту конечную точку

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

, и я добавил эту полезную нагрузку в тело (Content-Тип: 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 голосов
/ 21 ноября 2018

Я обнаружил эту проблему на 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:

это только для временного исправления ине модернизировать безопасно

...