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

Melihat: 3324|Jawab: 0

[Sumber] ASP.NET Antarmuka API Core(23) NULL mengembalikan kode status HTTP 204

[Salin tautan]
Diposting pada 20/08/2023 15.27.55 | | | |
Persyaratan: Gunakan ASP.NET Core 6 untuk membuat proyek Web API baru untuk menyediakan layanan eksternal, antarmuka dapat mengembalikan objek kosong atau string kosong, jika mengembalikan NULL, respons antarmuka adalah: 204 Tidak Ada Konten, meskipun 204 mewakili kode respons normal (tidak ada yang salah dengan itu), tetapi,Beberapa kerangka kerja HTTP yang dienkapsulasi hanya akan menganggap kode status 200 normal。 Jadi ubah kode status 204 menjadi kode status 200.

Kode antarmuka:

Tes ditunjukkan di bawah ini:



Antarmuka mengembalikan kode status HTTP 204 No Content karena 4 implementasi pemformatan output yang ditambahkan secara default di ASP.NET Core:

  • Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter
  • Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter
  • Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter
  • Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter


Kode sumber untuk HttpNoContentOutputFormatter adalah sebagai berikut:



Nota:Jika antarmuka mengembalikan jenis void, Task mengembalikan kode status HTTP 200karena tidak masuk ke metode CanWriteResult di HttpNoContentOutputFormatter!! ke dalamnyaJika metode CanWriteResult mengembalikan true, metode tersebut akan melalui WriteAsyncMetode.





larutan

Hapus kelas implementasi HttpNoContentOutputFormatter dari koleksi OutputFormatters dengan kode berikut:

Akses antarmuka lagi, uji sebagai berikut:

Jenis yang dikembalikan adalah string?, mengembalikan kode status 200, dan tidak memiliki output apa pun
Jenis yang dikembalikan adalah object?, mengembalikan kode status 200, dan mengeluarkan null

(Akhir)




Mantan:Kontainer Docker didasarkan pada aspnet:6.0 untuk menginstal alat ping
Depan:Browser Windows Edge membuka solusi crash dengan IE
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