Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 3045|Svar: 0

[Kilde] .NET/C# bruger Refit til at anmode om en enum-parameter enum-typefejl

[Kopier link]
Opslået på 23/07/2023 15.13.05 | | | |
Krav: Hvis der er en enum-type i parameteren, vil interfacet returnere en "400 Bad Request"-fejl, fordi Refit som standard konverterer enum i objektet til en streng, og interfacet kan ikke konvertere strengen til en enum-fejl, som følger:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "titel": "En eller flere valideringsfejl opstod.",
    "status": 400,
    "traceId": "00-3aef79a91ce9c4111883953c9aaccb48a-68917b547ba8a2e5-00",
    "fejl": {
        "Krav": [
            "Kravfeltet er påkrævet."
        ],
        "$.sprogTilladelser": [
            "JSON-værdien kunne ikke konverteres til LanguagePermissionsEnum. Sti: $.languagePermissions | Linjenummer: 0 | BytePositionInLine: 145."
        ]
    }
}



Den officielle forklaring er, at grunden til at konvertere enums til strenge som standard er, atØg læsbarheden og letter læsning af parameterindholdsinformation。 Henvisning:Hyperlink-login er synlig.

Standardadfærden er at serialisere enumet til en streng, som du kan ændre ved at give serializeren dine egne indstillinger:Hyperlink-login er synlig.



Så vi sender de tilpassede Refit-indstillinger ind og bruger ikke standardindstillingerne, sletterJsonStringEnumConverterKonverteren er fin, koden er som følger:

Opløsning:Hyperlink-login er synlig.
(Slut)




Tidligere:.NET/C# letvægts Mapster objektmapping-framework
Næste:.NET/C# Simpel brug Polly-vejledning
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com