Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3045|Odpověď: 0

[Zdroj] .NET/C# používá Refit k požadavku na chybu typu enum parametru

[Kopírovat odkaz]
Zveřejněno 23.07.2023 15:13:05 | | | |
Požadavky: Pokud je v parametru typ enum, rozhraní vrátí chybu "400 Bad Request", protože Refit ve výchozím nastavení převede enum v objektu na řetězec a rozhraní nemůže řetězec převést na enum chybu, a to následovně:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Došlo k jedné nebo více validačních chyb.",
    "stav": 400,
    "traceId": "00-3aef79a91ce9c41883953c9aaccb48a-68917b547ba8a2e5-00",
    "chyby": {
        "req": [
            "Požadované pole je povinné."
        ],
        "$.languagePermissions": [
            "Hodnota JSON nemohla být převedena na LanguagePermissionsEnum. Cesta: $.languagePermissions | LineNumber: 0 | BytePositionInLine: 145."
        ]
    }
}



Oficiální vysvětlení je, že důvodem pro převod enumů na řetězce je to, žeZvýšit čitelnost a usnadnit čtení obsahových informací parametrů。 Odkaz:Přihlášení k hypertextovému odkazu je viditelné.

Výchozí chování je serializovat enum na řetězec, což můžete změnit tím, že serializátoru zadáte vlastní nastavení:Přihlášení k hypertextovému odkazu je viditelné.



Takže předáme vlastní nastavení Refitu a nepoužijeme výchozí nastavení, smažemeJsonStringEnumConverterPřevodník je v pořádku, kód je následující:

Řešení:Přihlášení k hypertextovému odkazu je viditelné.
(Konec)




Předchozí:.NET/C# lehký rámec pro mapování objektů Mapster
Další:.NET/C# Jednoduché použití Pollyho tutoriál
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com