Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3045|Odgovoriti: 0

[Vir] .NET/C# uporablja Refit za zahtevo po napaki tipa enum parametra

[Kopiraj povezavo]
Objavljeno na 23. 07. 2023 15:13:05 | | | |
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)




Prejšnji:.NET/C# lahki okvir za preslikavo objektov v Mapsterju
Naslednji:.NET/C# Preprosta uporaba Pollyjevega vodiča
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com