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)
|