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