Я создал контроллер в пользовательском модуле, который принимает ПУБЛИКОВАТЬ
запрос.
У меня есть такая установка, что я получаю ПУБЛИКОВАТЬ
запрос от стороннего сервера приложений к этому API. Но ПУБЛИКОВАТЬ
запрос имеет Content-Type: "application/x-www-form-urlencoded"
в заголовке.
И из-за этого я получаю следующую ошибку в последних сообщениях журнала:
Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException: не найден маршрут, соответствующий "Content-Type: application/x-www-form-urlencoded" в Drupal\Core\Routing\ContentTypeHeaderMatcher->filter() (строка 49 из /var/ www/html/web/core/lib/Drupal/Core/Routing/ContentTypeHeaderMatcher.php).```
Когда я тестирую API с помощью почтальона:
- если я использую
Тип содержимого: "приложение/json"
в шапке выполняется код внутри API, и я получаю правильный ответ.
- если я использую
Content-Type: "application/x-www-form-urlencoded"
, я получаю ту же ошибку.
Я не могу настроить сторонний сервер приложений для изменения Тип содержимого
. Поэтому единственный вариант для меня — настроить API так, чтобы он принимал ПУБЛИКОВАТЬ
запрос с Content-Type: "application/x-www-form-urlencoded"
. Как я могу это сделать?
Отредактировано:
Мой класс расширяет класс ResourceBase. Определение маршрута контроллера. Также я использую друпал 8.
* @RestResource(
* идентификатор = "test_abc_callback",
* label = @Translation("Пользовательский API для тестирования"),
* uri_paths = {
* "создать" = "/api/v1/test_callback",
* }
* )