Požiadavky: Ak je v parametri typ enum, rozhranie vráti chybu "400 Bad Request", pretože Refit štandardne konvertuje enum v objekte na reťazec a rozhranie nemôže previesť reťazec na enum chybu, a to nasledovne:
{ "typ": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "Vyskytla sa jedna alebo viac validačných chýb.", "stav": 400, "traceId": "00-3aef79a91ce9c41883953c9aaccb48a-68917b547ba8a2e5-00", "chyby": { "req": [ "Požadované pole je povinné." ], "$.languagePermissions": [ "Hodnota JSON sa nepodarilo previesť na LanguagePermissionsEnum. Cesta: $.languagePermissions | LineNumber: 0 | BytePositionInLine: 145." ] }
}
Oficiálne vysvetlenie je, že dôvodom na predvolenú konverziu enumov na reťazce je to, žeZvýšiť čitateľnosť a uľahčiť čítanie informácií o obsahu parametrov。 Referencia:Prihlásenie na hypertextový odkaz je viditeľné.
Predvolené správanie je serializovať enum na reťazec, čo môžete zmeniť tým, že serializátoru poskytnete vlastné nastavenia:Prihlásenie na hypertextový odkaz je viditeľné.
Takže posielame vlastné nastavenia Refitu a nepoužívame predvolené nastavenia, vymažemeJsonStringEnumConverterPrevodník je v poriadku, kód je nasledovný:
Riešenie:Prihlásenie na hypertextový odkaz je viditeľné. (Koniec)
|