Követelmények: Ha a paraméterben van enum típus, az interfész "400 Bad Request" hibát ad vissza, mert a Refit alapértelmezetten átalakítja az objektumban lévő enumot stringgúrrá, és az interfész nem tudja átalakítani a stringet enum hibává, az alábbiak szerint:
{ "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "Egy vagy több validációs hiba történt.", "állapot": 400, "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00", "hibák": { "fel": [ "A követelménymező kötelező." ], "$.languagePermissions": [ "A JSON értéket nem lehetett átalakítani LanguagePermissionsEnum-ra. Útvonal: $.languagePermissions | Vonalszám: 0 | BytePositionInLine: 145." ] }
}
A hivatalos magyarázat az, hogy az enumok alapértelmezettnek a stringekre való átalakításának oka az, hogyNöveljék az olvashatóságot és megkönnyítsék a paramétertartalom információinak olvasását。 Utalás:A hiperlink bejelentkezés látható.
Az alapértelmezett viselkedés az, hogy az enumot sorozatossá soroljuk, amit megváltoztathatsz, ha megadod a saját beállításokat a serializátornak:A hiperlink bejelentkezés látható.
Szóval, megadjuk az egyedi Refit beállításokat, és nem használjuk az alapértelmezett beállításokat, töröljükJsonStringEnumConverterAz átalakító rendben van, a kód a következő:
Megoldás:A hiperlink bejelentkezés látható. (Vége)
|