Απαιτήσεις: Εάν υπάρχει τύπος απαρίθμησης στην παράμετρο, η διασύνδεση θα επιστρέψει ένα σφάλμα "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Ο μετατροπέας είναι μια χαρά, ο κωδικός είναι ο εξής:
Λύση:Η σύνδεση με υπερσύνδεσμο είναι ορατή. (Τέλος)
|