Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3045|Jawab: 0

[Sumber] .NET/C# menggunakan Refit untuk meminta kesalahan jenis enum parameter enum

[Salin tautan]
Diposting pada 23/07/2023 15.13.05 | | | |
Persyaratan: Jika ada jenis enum dalam parameter, antarmuka akan mengembalikan kesalahan "400 Permintaan Buruk", karena Refit mengonversi enum dalam objek menjadi string secara default, dan antarmuka tidak dapat mengonversi string menjadi kesalahan enum, sebagai berikut:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Satu atau beberapa kesalahan validasi terjadi.",
    "status": 400,
    "traceId": "00-3aef79a91ce9c411883953c9aaccb48a-68917b547ba8a2e5-00",
    "errors": {
        "req": [
            "Bidang req diperlukan."
        ],
        "$.languagePermissions": [
            "Nilai JSON tidak dapat dikonversi ke LanguagePermissionsEnum. Jalur: $.languagePermissions | Nomor Baris: 0 | BytePositionInLine: 145."
        ]
    }
}



Penjelasan resminya adalah bahwa alasan untuk mengonversi enum menjadi string secara default adalah karenaMeningkatkan keterbacaan dan memfasilitasi pembacaan informasi konten parameter。 Referensi:Login hyperlink terlihat.

Perilaku defaultnya adalah membuat serialisasi enum ke string, yang dapat Anda ubah dengan menyediakan serializer dengan pengaturan Anda sendiri:Login hyperlink terlihat.



Jadi, kami meneruskan pengaturan Refit kustom dan tidak menggunakan pengaturan default, hapusJsonStringEnumConverterKonverter baik-baik saja, kodenya adalah sebagai berikut:

Larutan:Login hyperlink terlihat.
(Akhir)




Mantan:Kerangka kerja pemetaan objek Mapster ringan .NET/C#
Depan:.NET/C# Simple Use Polly tutorial
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com