Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12028|Απάντηση: 1

[Πηγή] Η διεπαφή ρυθμίσεων Spring jackson-dataformat-xml επιστρέφει τη μορφή JSON από προεπιλογή

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-1-11 10:39:32 | | | |
Μετά την εισαγωγή του πακέτου 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 και αγνοήστε την κεφαλίδα Αποδοχή, με τον ακόλουθο κώδικα:

Μετά την τροποποίηση, οι αποδόσεις είναι οι εξής:



(Τέλος)




Προηγούμενος:Διαμόρφωση δρομολόγησης Spring Cloud Gateway yml και json
Επόμενος:Το CentOS εγκαθιστά το πακέτο zlib-1.2.9
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2022-2-11 10:18:55 |
Η διεπαφή ρυθμίσεων Spring Boot επιστρέφει πληροφορίες HTML

Εάν ορίσετε παράγει = MediaType.TEXT_HTML_VALUE

Το σφάλμα θα είναι το εξής:

Δεν ήταν δυνατή η εύρεση αποδεκτής εκπροσώπησης

Τελική λύση:

Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com