Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3045|Отговор: 0

[Източник] .NET/C# използва Refit, за да поиска грешка от типа на enum параметъра

[Копирай линк]
Публикувано в 23.07.2023 г. 15:13:05 ч. | | | |
Изисквания: Ако в параметъра има тип enum, интерфейсът ще върне грешка "400 Bad Request", защото Refit по подразбиране преобразува enum в обекта в низ, а интерфейсът не може да преобразува низа в enum грешка, както следва:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "заглавие": "Възникнаха една или повече грешки при валидиране.",
    "статус": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "errors": {
        "requ": [
            "Изисква се полето с изисквания."
        ],
        "$.languagePermissions": [
            "JSON стойността не можеше да бъде конвертирана в LanguagePermissionsEnum. Път: $.languagePermissions | Номер на линия: 0 | BytePositionInLine: 145."
        ]
    }
}



Официалното обяснение е, че причината за преобразуване на enums в низове по подразбиране е, чеУвеличаване на четивността и улесняване на четенето на информация със съдържанието на параметрите。 Препратка:Входът към хиперлинк е видим.

Стандартното поведение е да сериализирате enum-а в низ, което можете да промените, като предоставите на сериализатора свои собствени настройки:Входът към хиперлинк е видим.



Така че предаваме персонализираните настройки на Refit и не използваме стандартните настройки, изтривамеJsonStringEnumConverterКонверторът е наред, кодът е следният:

Решение:Входът към хиперлинк е видим.
(Край)




Предишен:.NET/C# лека рамка за картографиране на обекти Mapster
Следващ:.NET/C# Урок за Поли за лесна употреба
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com