Zahteve: Če je v parametru tip enuma, bo vmesnik vrnil napako "400 Bad Request", ker Refit privzeto pretvori enum v objektu v niz, vmesnik pa ne more pretvoriti niza v enum napako, kot sledi:
{ "tip": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "naslov": "Prišlo je do ene ali več napak pri preverjanju.", "status": 400, "traceId": "00-3aef79a91ce9c41883953c9aaccb48a-68917b547ba8a2e5-00", "errors": { "req": [ "Zahtevano je polje zahteva." ], "$.languagePermissions": [ "Vrednosti JSON ni bilo mogoče pretvoriti v LanguagePermissionsEnum. Pot: $.languagePermissions | Številka vrstice: 0 | BytePositionInLine: 145." ] }
}
Uradna razlaga je, da je razlog za privzeto pretvorbo enumov v stringe ta, da jePovečati berljivost in olajšati branje informacij o vsebini parametrov。 Referenčni:Prijava do hiperpovezave je vidna.
Privzeto vedenje je, da se enum serializira v niz, kar lahko spremenite tako, da serializatorju zagotovite lastne nastavitve:Prijava do hiperpovezave je vidna.
Torej, prenesemo prilagojene nastavitve Refit in ne uporabljamo privzetih nastavitev, izbrišemoJsonStringEnumConverterPretvornik je v redu, koda je naslednja:
Rešitev:Prijava do hiperpovezave je vidna. (Konec)
|