Nõuded: Kasuta Core 6 ASP.NET uue veebipõhise API projekti loomiseks väliste teenuste pakkumiseks, liides võib tagastada tühja objekti või tühja stringi, kui tagastab NULL, on liidese vastus: 204 Sisu puudub, kuigi 204 esindab tavapärast vastuskoodi (sellega pole midagi valesti), kuid,Mõned kapseldatud HTTP raamistikud peavad normaalseks ainult 200 olekukoodi。 Muuda 204 staatuskood 200 staatuskoodiks.
Liidese kood:
Test on toodud allpool:
Liides tagastab HTTP 204 No Content staatuskoodi, kuna ASP.NET Core'is lisatakse vaikimisi 4 väljundvorminduse rakendust:
- Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter
- Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter
- Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter
- Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter
HttpNoContentOutputFormatter lähtekood on järgmine:
Märkus:Kui liides tagastab tühja tüübi, siis Task tagastab HTTP 200 staatuskoodisest see ei lähe CanWriteResult meetodisse HttpNoContentOutputFormatteris!! sinnaKui CanWriteResult meetod tagastab tõe, läheb see WriteAsynci kauduMeetod.
lahus
Eemalda HttpNoContentOutputFormatter rakendusklass OutputFormatters kollektsioonist järgmise koodiga:
Juurdepääs liidesele uuesti, testi järgmiselt:
Tagastustüüp on string?, tagastab 200 olekukoodi ja puudub väljund Tagastustüüp on object?, tagastab 200 olekukoodi ja väljastab null
(Lõpp)
|