Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3045|Svar: 0

[Källa] .NET/C# använder Refit för att begära ett enum-parameter enumtypfel

[Kopiera länk]
Publicerad på 2023-07-23 15:13:05 | | | |
Krav: Om det finns en enumtyp i parametern kommer gränssnittet att returnera ett "400 Bad Request"-fel, eftersom Refit konverterar enum i objektet till en sträng som standard, och gränssnittet kan inte konvertera strängen till ett enumfel, enligt följande:

{
    "typ": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "titel": "Ett eller flera valideringsfel uppstod.",
    "status": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "fel": {
        "Krav": [
            "Kravfältet krävs."
        ],
        "$.languagePermissions": [
            "JSON-värdet kunde inte konverteras till LanguagePermissionsEnum. Sökväg: $.languagePermissions | Radnummer: 0 | BytePositionInLine: 145."
        ]
    }
}



Den officiella förklaringen är att anledningen till att konvertera enum till strängar som standard är för att det är för att enum konverteras som standardÖka läsbarheten och underlätta läsning av parameterinnehållsinformation。 Hänvisning:Inloggningen med hyperlänken är synlig.

Standardbeteendet är att serialisera enum till en sträng, vilket du kan ändra genom att ge serializern dina egna inställningar:Inloggningen med hyperlänken är synlig.



Så vi skickar in de anpassade Refit-inställningarna och använder inte standardinställningarna, tar bort demJsonStringEnumConverterOmvandlaren är okej, koden är följande:

Lösning:Inloggningen med hyperlänken är synlig.
(Slut)




Föregående:.NET/C# lättviktigt Mapster objektmappningsramverk
Nästa:.NET/C# Enkel användning Polly-handledning
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com