Spring JSON-Anfrage gibt 406 zurück (nicht akzeptabel)
Beim Versuch, eine JSON-Anfrage an einen Spring MVC-Controller zu senden, stoßen einige Benutzer auf eine Fehler „406 nicht akzeptabel“. Dieses Problem ist auf eine Diskrepanz zwischen dem angeforderten Inhaltstyp („application/json“) und der Antwortfähigkeit des Controllers zurückzuführen.
In Spring MVC wird die Controller-Methode mit „@ResponseBody“ annotiert, um anzuzeigen, dass die Der Rückgabewert sollte als JSON in den HTTP-Antworttext geschrieben werden. Wenn jedoch der richtige HTTPMessageConverter nicht im Anwendungskontext registriert ist, kann Spring den Rückgabewert nicht in das angeforderte Format konvertieren.
Eine häufige Ursache für diesen Fehler ist das Fehlen der Jackson-Bibliotheken in der Anwendung Klassenpfad. Die Jackson-Bibliotheken stellen den HTTPMessageConverter bereit, der für die Konvertierung von Java-Objekten in JSON und umgekehrt verantwortlich ist.
Um das Problem zu beheben, befolgen Sie diese Schritte:
Stellen Sie sicher, dass die folgenden Jackson-Bibliotheken sind im Anwendungsklassenpfad enthalten:
Wenn Sie Spring 3.0 oder höher verwenden, fügen Sie die folgende Zeile zur Konfigurationsdatei spring-servlet.xml hinzu, um die annotationsgesteuerte MVC-Konfiguration zu aktivieren:
<code class="xml"><mvc:annotation-driven /></code>
Durch die Implementierung dieser Schritte wird der HTTPMessageConverter registriert und Spring kann den Rückgabewert des Controllers wie erwartet in JSON konvertieren .
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Senden einer JSON-Anfrage an meinen Spring MVC-Controller den Fehler 406 (nicht akzeptabel)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!