Direkt zum Inhalt
NikoFischer.com

Main navigation

  • Startseite
  • Über mich
    • Recommended Youtube Channels
    • Life Rules
    • Podcast
  • 50-Tage Challenge
  • Impressum
Sprachumschalter
  • German
  • English

Pfadnavigation

  1. Startseite

Drupal 9.1 REST: Post und Patch Anfragen werden abgelehnt

Seit ein paar Tagen beobachte ich in verschiedenen Projekten das gleiche Problem: Post und Patch Requests an einigen Rest Endpunkten werden mit einem Error 500 abgelehnt.

Drupal Rest: MethodNotAllowedException
Error 500: Fehlermeldung aus einer Vue js Web-App beim Versuch mit einem Post Request auf den Drupal REST Endpunkt zuzugreifen.

 Folgende Fehlermeldung findet sich in den Drupal-Logs:

Symfony\Component\Routing\Exception\MethodNotAllowedException: in Drupal\Core\Routing\MethodFilter->filter()

Das Problem scheint irrational: Die REST Resources waren alle korrekt angelegt und wurden über das Rest UI Modul jeweils mit POST oder PATCH Methode aktiviert, json als Datenformat und Cookie als Authentifizierungsmethode ausgewählt.

Interessant: Das Problem taucht lediglich auf Remote-Webservern auf. In lokalen Entwicklungsumgebungen passierte es nicht. Alle Request gingen problemlos durch.

Workaround: Spracheinstellungen anpassen

Alle betroffenen Seiten waren mehrsprachig und hatten zumeist "deutsch" als Standardsprache ausgewählt. Da alle Requests auf URLs laufen, die nicht mit einer Sprachauswahl geprefixt sind, vermute ich, dass es hier ein Problem im Drupal-Routing-System handelt. Ruft man eine URL ohne Sprachprefix auf - zum Beispiel example.com/demo statt example.com/en/demo - dann routet Drupal intern auf die URL mit Sprachprefix um. Vermutlich wird kommt es hierbei zu einer Änderung des Request Headers.

Als Workaround hilft es, die Spracheinstellung im Benutzerprofil anzupassen. Dort sollte der Wert für "Administration page language" auf "No preference" gesetzt werden.

Admin Page Language auf No preference setzen

Tags

  • Drupal
  • REST
  • Error

Comments

Hilfe zum Textformat

Restricted HTML

  • Erlaubte HTML-Tags: <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Website- und E-Mail-Adressen werden automatisch in Links umgewandelt.

Related articles

CORS ist nicht dazu gedacht einen API Endpunkt abzusichern
Die Zukunft von Drupal: Eine Analyse und Prognose
Die 5 besten Drupal Module für Blogger in 2024
Drupal ECA System: Automatisierung leicht gemacht
Ihre Anmeldung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.
Ihre Anmeldung war erfolgreich.

Newsletter

Melden Sie sich zu unserem Newsletter an, um auf dem Laufenden zu bleiben.

Nikolai Fischer

✌ Hi, ich bin Niko
Unternehmer, Entwickler & Podcaster

Kontaktier mich:

  • E-Mail
  • Telefon
  • LinkedIn
RSS feed