Drupal 7 услуг отдых не возвращается JSON - PullRequest
0 голосов
/ 20 сентября 2019

Я успешно создал веб-сервис и могу его вызвать, но он всегда возвращает XML.Я попытался добавить .json в конце URL-адреса и заголовка «accept: application / json», но когда я их вызываю, он возвращает пустое значение с ответом 200.

Конфигурация выполнена (admin / structure / services) is:

  • вкладка редактирования: создана служба отдыха с «путем к конечной точке» = логин и отладка включены
  • вкладка сервера: все средства форматирования и синтаксического анализа ответов проверены (включая json)
  • вкладка ресурсов: все под пользователем проверяется без псевдонима
  • domain.com / loginapi / user / login -> это прекрасно работает, и я могу войти и вернуть xml, добавив .json (login.json) ничего не возвращает

Как мне сделать эту работу, пожалуйста?Я просмотрел все документы и примеры, но ни один из них не работает для меня

спасибо

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Чтобы вернуть JSON из Drupal, проверьте функцию drupal_json_output (она устанавливает для вас заголовок HTTP Content-Type).Pro Tipp: Если ваша конечная точка определяется через hook_menu, вы можете добавить 'delivery callback' => 'drupal_json_output' к вашему пункту меню, чтобы сообщить Drupal, что возвращаемое значение обратного вызова вашей страницы должно быть преобразовано в выходной.

0 голосов
/ 20 сентября 2019

Проверьте конфигурацию вашего сервера следующим образом: Сервис API

Затем подтвердите свою конечную точку с помощью curl -H "Accept: application/json" -i https://your.domain/endpoint.Возвращаемый заголовок должен иметь Content-Type: application/json

...