Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3324|Odgovoriti: 0

[Vir] ASP.NET Core(23) API vmesnik NULL vrne statusno kodo HTTP 204

[Kopiraj povezavo]
Objavljeno na 20. 08. 2023 15:27:55 | | | |
Zahteve: Uporabite ASP.NET Core 6 za ustvarjanje novega projekta spletnega API-ja za zagotavljanje zunanjih storitev, vmesnik lahko vrne prazen objekt ali prazen niz, če vrne NULL, je odziv vmesnika: 204 brez vsebine, čeprav 204 predstavlja običajno kodo odziva (z njo ni nič narobe), vendar,Nekateri enkapsulirani HTTP ogrodji bodo kot običajno šteli le statusno kodo 200。 Torej spremenite statusno kodo 204 v 200.

Uporabniška koda:

Test je prikazan spodaj:



Vmesnik vrne statusno kodo HTTP 204 No Content zaradi štirih implementacij oblikovanja izhodov, ki so bile privzeto dodane v ASP.NET Core:

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


Izvorna koda za HttpNoContentOutputFormatter je naslednja:



Opomba:Če vmesnik vrne void tip, Task vrne statusno kodo HTTP 200ker ne gre v metodo CanWriteResult v HttpNoContentOutputFormatter!! v toČe metoda CanWriteResult vrne true, bo šla skozi WriteAsyncMetoda.





rešitev

Odstranite implementacijski razred HttpNoContentOutputFormatter iz zbirke OutputFormatters z naslednjo kodo:

Ponovno dostopajte do vmesnika in testirajte takole:

Vrsta vrnitve je string?, vrne statusno kodo 200 in nima nobenega izhoda
Tip vrnitve je object?, vrne statusno kodo 200 in izpiše null

(Konec)




Prejšnji:Docker kontejner temelji na aspnet:6.0 za namestitev orodja za ping
Naslednji:Brskalnik Windows Edge odpre rešitev za zrušitev z IE
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com