Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3045|Antwort: 0

[Quelle] .NET/C# verwendet Refit, um einen Enum-Parameter Enum-Typfehler anzufordern

[Link kopieren]
Veröffentlicht am 23.07.2023 15:13:05 | | | |
Anforderungen: Wenn im Parameter ein Enum-Typ vorhanden ist, wird die Schnittstelle einen "400 Bad Request"-Fehler zurückgeben, da Refit das Enum im Objekt standardmäßig in eine Zeichenkette umwandelt und die Schnittstelle die Zeichenkette nicht in einen Enum-Fehler umwandeln kann, wie folgt:

{
    "typ": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "Titel": "Ein oder mehrere Validierungsfehler traten auf."
    "Status": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "errors": {
        "Anforderung": [
            "Das erforderliche Feld ist erforderlich."
        ],
        "$.languagePermissions": [
            "Der JSON-Wert konnte nicht in LanguagePermissionsEnum umgewandelt werden. Pfad: $.languagePermissions | Zeilennummer: 0 | BytePositionInLine: 145."
        ]
    }
}



Die offizielle Erklärung ist, dass der Grund, Enums standardmäßig in Strings umzuwandeln, darin liegt, dassSteigere die Lesbarkeit und erleichtert das Lesen von Parameterinhaltsinformationen。 Referenz:Der Hyperlink-Login ist sichtbar.

Das Standardverhalten ist, das Enum in eine Zeichenkette zu serialisieren, was Sie ändern können, indem Sie dem Serializer Ihre eigenen Einstellungen geben:Der Hyperlink-Login ist sichtbar.



Deshalb geben wir die benutzerdefinierten Refit-Einstellungen durch und verwenden nicht die Standardeinstellungen, löschen sieJsonStringEnumConverterDer Konverter ist in Ordnung, der Code lautet wie folgt:

Lösung:Der Hyperlink-Login ist sichtbar.
(Ende)




Vorhergehend:.NET/C# leichtes Mapster-Objektmapping-Framework
Nächster:.NET/C# Einfache Anwendung Polly-Tutorial
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com