Как заставить TRESTRequest.ContentType быть ctAPPLICATION_JSON - PullRequest
3 голосов
/ 04 ноября 2019

Перетащите TRESTClient, TRESTRequest и TRESTRepsonse на форму.

Установите RESTClient.BaseURL, RESTRequest.Method и Resource, также добавьте параметр заголовка "Content-Type" с помощьюзначение "application/json".

Добавьте строку JSON, используя RESTRequest.AddBody, затем просмотрите RESTRequest.ContentType.

. Вместо ctAPPLICATION_JSON отображается ctAPPLICATION_X_WWW_FORM_URLENCODED. Это приводит к тому, что сервер возвращает ошибку при запуске RESTRequest.Execute().

Как заставить запрос использовать правильный тип содержимого, если свойство не может быть назначено?

1 Ответ

5 голосов
/ 04 ноября 2019

После просмотра исходного кода REST.Client, если вы укажете тип содержимого, используя это:

  AParameter := RESTRequest.Params.AddItem;
  AParameter.ContentType := ctAPPLICATION_JSON;
  AParameter.name := 'Content-Type';
  AParameter.Value := 'application/json';

Вместо этого:

  RESTRequest.Params.AddHeader('Content-Type', 'application/json');

Тогда свойство TRESTRequest.ContentTypeвозвращает правильное значение, и это значение используется во время TRESTRequest.Execute.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...