Na de introductie van het jackson-dataformat-xml-pakket, geven alle GET-verzoeken via de browser datatypes terug van het oorspronkelijke JSON naar XML-formaat, zoals weergegeven in de onderstaande figuur:
Accept in Request Headers leest text/html,application/xhtml+xml,application/xml; q=0.9,afbeelding/avif,afbeelding/webp,afbeelding/apng,*/*; q=0.8,applicatie/ondertekende-uitwisseling; v=b3; q=0.9, lijkt het een kwestie van contentonderhandeling; volgens de volgorde van de requestheader van de browser, als de server MediaType-ondersteuning voor XML introduceert, zou hij inderdaad eerst XML-documenten moeten retourneren.
Hoe geef ik het standaard JSON-formaat terug terwijl ik XML-afhankelijkheden gebruik?
Oplossing 1
Voeg de volgende opmerking toe aan de controller of methode om de terugkeer van het JSON-formaat af te dwingen:
Hoewel deze oplossing het probleem kan oplossen, vereist het veel code-aanpassing.
Oplossing 2
Stel de standaard ContentType in, overschrijf de configureContentNegotiation-methode via implements WebMvcconfigurer, en negeer de Accept-header met de volgende code:
Na aanpassing zijn de renderings als volgt:
(Einde)
|