Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3045|Risposta: 0

[Fonte] .NET/C# usa Refit per richiedere un errore di tipo enum nel parametro enum

[Copiato link]
Pubblicato su 23/07/2023 15:13:05 | | | |
Requisiti: Se c'è un tipo di enum nel parametro, l'interfaccia restituirà un errore "400 Bad Request", perché Refit converte di default l'enum nell'oggetto in una stringa, e l'interfaccia non può convertire la stringa in un errore enum, come segue:

{
    "tipo": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "titolo": "Si sono verificati uno o più errori di validazione.",
    "stato": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "errori": {
        "rechiesta": [
            "Il campo di richiesta è richiesto."
        ],
        "$.languagePermissions": [
            "Il valore JSON non poteva essere convertito in LanguagePermissionsEnum. Path: $.languagePermissions | LineNumber: 0 | BytePositionInLine: 145."
        ]
    }
}



La spiegazione ufficiale è che il motivo per cui di default si convertono gli enum in stringhe è cheAumentare la leggibilità e facilitare la lettura delle informazioni sui parametri。 Riferimento:Il login del link ipertestuale è visibile.

Il comportamento predefinito è serializzare l'enum in una stringa, che puoi modificare fornendo al serializer le tue impostazioni:Il login del link ipertestuale è visibile.



Quindi, passiamo le impostazioni personalizzate di Refit e non usiamo quelle predefinite, eliminiamoJsonStringEnumConverterIl convertitore va bene, il codice è il seguente:

Soluzione:Il login del link ipertestuale è visibile.
(Fine)




Precedente:.NET/C# framework leggero di mappatura degli oggetti Mapster
Prossimo:.NET/C# Tutorial di uso semplice di Polly
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com