Spring JSON Request Returning 406 (Not Acceptable)
Beim Versuch, eine JSON-Anfrage an einen Spring MVC-Controller zu senden, stoßen einige Benutzer auf Folgendes: 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, führen Sie die folgenden Schritte aus:
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:
Durch die Implementierung dieser Schritte wird der HTTPMessageConverter registriert und Spring kann den Rückgabewert des Controllers wie erwartet in JSON konvertieren .
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3