Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 3324|Válasz: 0

[Forrás] ASP.NET Core(23) API interfész NULL HTTP 204 státuszkódot ad vissza

[Linket másol]
Közzétéve 2023. 08. 20. 15:27:55 | | | |
Követelmények: Használd ASP.NET Core 6-ot egy új Web API projekt létrehozásához külső szolgáltatások biztosítására, az interfész üres objektumot vagy üres stringet adhat vissza, ha NULL-t ad vissza, az interfész válasza: 204 Nincs tartalom, bár a 204 a normál válaszkódot jelenti (nincs vele semmi baj), de,Néhány kapszulált HTTP keretrendszer csak a 200 státuszkódot tekinti normálisnak。 Tehát változtasd meg a 204-es állapotkódot 200-as állapotkódra.

Interfész kód:

A teszt az alábbiakban látható:



Az interfész HTTP 204 Tartalommentes állapotkódot ad vissza, mivel a ASP.NET Core-ban alapértelmezettként hozzáadott 4 kimeneti formázási megvalósítás van:

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


A HttpNoContentOutputFormatter forráskódja a következő:



Jegyzet:Ha az interfész void típust ad vissza, a Task HTTP 200 státuszkódot admert nem megy a CanWriteResult metódusba a HttpNoContentOutputFormatterben!! InnenHa a CanWriteResult metódus igaz lesz, akkor a WriteAsync rendszeren keresztül megyMódszer.





megoldás

Távolítsa el a HttpNoContentOutputFormatter implementációs osztályt az OutputFormatters gyűjteményből a következő kóddal:

Újra elérni az interfészt, tesztelje az alábbiakkal:

A visszatérési típus string?, 200 státuszkódot ad vissza, és nincs kimenete
A visszaküldés típusa objektum?, egy 200 státuszkódot ad vissza, és null kimenetet ad

(Vége)




Előző:A Docker konténer aspnet:6.0-ra épül a ping eszköz telepítéséhez
Következő:A Windows Edge böngésző megnyitja az IE-vel a crash-megoldást
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com