Μετά την εισαγωγή του πακέτου jackson-dataformat-xml, όλα τα αιτήματα GET μέσω του προγράμματος περιήγησης επιστρέφουν τύπους δεδομένων από την αρχική μορφή JSON σε XML, όπως φαίνεται στο παρακάτω σχήμα:
Αποδοχή στις κεφαλίδες αιτήματος διαβάζει κείμενο/html,application/xhtml+xml,application/xml; q=0.9,εικόνα/avif,εικόνα/webp,εικόνα/apng,*/*; q=0.8, εφαρμογή/υπογεγραμμένη ανταλλαγή; v=b3; q=0.9, φαίνεται να είναι θέμα διαπραγμάτευσης περιεχομένου, σύμφωνα με τη σειρά κεφαλίδας αιτήματος του προγράμματος περιήγησης, εάν ο διακομιστής εισάγει υποστήριξη MediaType για XML, θα πρέπει πράγματι να επιστρέψει πρώτα έγγραφα XML.
Πώς μπορώ να επιστρέψω την προεπιλεγμένη μορφή JSON ενώ χρησιμοποιώ εξαρτήσεις XML;
Λύση 1
Προσθέστε το ακόλουθο σχόλιο στον ελεγκτή ή τη μέθοδο για να επιβάλετε την επιστροφή της μορφής JSON:
Αν και αυτή η λύση μπορεί να λύσει το πρόβλημα, απαιτεί πολλές τροποποιήσεις κώδικα.
Λύση 2
Ορίστε το προεπιλεγμένο ContentType, παρακάμψτε τη μέθοδο configureContentNegotiation μέσω υλοποιήσεων WebMvcconfigurer και αγνοήστε την κεφαλίδα Αποδοχή, με τον ακόλουθο κώδικα:
Μετά την τροποποίηση, οι αποδόσεις είναι οι εξής:
(Τέλος)
|