Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3045|Yanıt: 0

[Kaynak] .NET/C#, enum parametresi enum tipi hata talep etmek için Refit kullanır

[Bağlantıyı kopyala]
Yayınlandı 23.07.2023 15:13:05 | | | |
Gereksinimler: Parametrede bir enum tipi varsa, arayüz "400 Kötü İstek" hatası döner, çünkü Refit nesnedeki enum'u varsayılan olarak bir diziye dönüştürür ve arayüz diziyi aşağıdaki gibi enum hatasına dönüştüremez:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Bir veya daha fazla doğrulama hatası meydana geldi.",
    "durum": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "hatalar": {
        "Soru": [
            "Talep alanı zorunlu."
        ],
        "$.languagePermissions": [
            "JSON değeri LanguagePermissionsEnum'a dönüştürülemedi. Yol: $.languagePermissions | HatNumarası: 0 | BaytPozisyon Satırda: 145."
        ]
    }
}



Resmi açıklama, enumları varsayılan olarak string'e dönüştürmenin sebebinin şu olduğudur:Okunabilirliği artırmak ve parametre içerik bilgisinin okunmasını kolaylaştırmak。 Referans:Bağlantı girişi görünür.

Varsayılan davranış, enum'u bir diziye serileştirmektir; bunu serileştiriciye kendi ayarlarınızı sağlayarak değiştirebilirsiniz:Bağlantı girişi görünür.



Yani, özel Refit ayarlarını giriyoruz ve varsayılan ayarları kullanmıyoruz, siliyoruzJsonStringEnumConverterDönüştürücü sorun tutuyor, kod şöyle:

Çözüm:Bağlantı girişi görünür.
(Son)




Önceki:.NET/C# hafif Mapster nesne eşleme çerçevesi
Önümüzdeki:.NET/C# Basit Kullan Polly eğitimi
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com