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

Άποψη: 3045|Απάντηση: 0

[Πηγή] .NET/C# χρησιμοποιεί το Refit για να ζητήσει ένα σφάλμα τύπου απαρίθμησης παραμέτρου απαρίθμησης

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/7/2023 3:13:05 μ.μ. | | | |
Απαιτήσεις: Εάν υπάρχει τύπος απαρίθμησης στην παράμετρο, η διασύνδεση θα επιστρέψει ένα σφάλμα "400 Bad Request", επειδή το Refit μετατρέπει την απαρίθμηση στο αντικείμενο σε συμβολοσειρά από προεπιλογή και η διασύνδεση δεν μπορεί να μετατρέψει τη συμβολοσειρά σε σφάλμα απαρίθμησης, ως εξής:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Παρουσιάστηκε ένα ή περισσότερα σφάλματα επικύρωσης.",
    "κατάσταση": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "σφάλματα": {
        "req": [
            "Το πεδίο απαίτησης είναι υποχρεωτικό."
        ],
        "$.languagePermissions": [
            "Δεν ήταν δυνατή η μετατροπή της τιμής JSON σε LanguagePermissionsEnum. Διαδρομή: $.languagePermissions | Αριθμός Γραμμής: 0 | BytePositionInLine: 145."
        ]
    }
}



Η επίσημη εξήγηση είναι ότι ο λόγος για τη μετατροπή των απαρίθμησης σε συμβολοσειρές από προεπιλογή είναι επειδήΑυξήστε την αναγνωσιμότητα και διευκολύνετε την ανάγνωση των πληροφοριών περιεχομένου παραμέτρων。 Αναφορά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Η προεπιλεγμένη συμπεριφορά είναι η σειριοποίηση της απαρίθμησης σε μια συμβολοσειρά, την οποία μπορείτε να αλλάξετε παρέχοντας στον σειριοποιητή τις δικές σας ρυθμίσεις:Η σύνδεση με υπερσύνδεσμο είναι ορατή.



Έτσι, περνάμε στις προσαρμοσμένες ρυθμίσεις Refit και δεν χρησιμοποιούμε τις προεπιλεγμένες ρυθμίσεις, διαγράφουμεΜετατροπέας JsonStringEnumΟ μετατροπέας είναι μια χαρά, ο κωδικός είναι ο εξής:

Λύση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
(Τέλος)




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

Mail To:help@itsvse.com