Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3045|Odpowiedź: 0

[Źródło] .NET/C# wykorzystuje Refit do żądania błędu typu enum parametru enum

[Skopiuj link]
Opublikowano 23.07.2023 15:13:05 | | | |
Wymagania: Jeśli w parametrze znajduje się typ enum, interfejs zwróci błąd "400 Bad Request", ponieważ Refit domyślnie konwertuje enum w obiekcie na ciąg znaków, a interfejs nie może przekonwertować tego ciągu na błąd enum, w następujący sposób:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "tytuł": "Wystąpił jeden lub więcej błędów walidacyjnych.",
    "status": 400,
    "traceId": "00-3aef79a91ce9c41883953c9aaccb48a-68917b547ba8a2e5-00",
    "błędy": {
        "req": [
            "Wymagane jest pole wymagane."
        ],
        "$.languagePermissions": [
            "Wartość JSON nie mogła zostać przekonwertowana na LanguagePermissionsEnum. Ścieżka: $.languagePermissions | LiniaNumer: 0 | BytePositionInLine: 145."
        ]
    }
}



Oficjalne wyjaśnienie jest takie, że domyślnie konwertowanie enumów na stringi jestZwiększanie czytelności i ułatwianie odczytu informacji o parametrach。 Odniesienie:Logowanie do linku jest widoczne.

Domyślne zachowanie polega na serializacji enum do ciągu ciągów, co można zmienić, podając serializerowi własne ustawienia:Logowanie do linku jest widoczne.



Więc przekazujemy niestandardowe ustawienia Refit i nie używamy domyślnych ustawień, usuwamyJsonStringEnumConverterKonwerter działa dobrze, kod jest następujący:

Rozwiązanie:Logowanie do linku jest widoczne.
(Koniec)




Poprzedni:.NET/C# lekki framework Mapster object mapping framework
Następny:.NET/C# Prosty tutorial Polly
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com