Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3324|Odpověď: 0

[Zdroj] ASP.NET Rozhraní API Core(23) NULL vrací stavový kód HTTP 204

[Kopírovat odkaz]
Zveřejněno 20.08.2023 15:27:55 | | | |
Požadavky: Použijte ASP.NET Core 6 k vytvoření nového projektu Web API pro poskytování externích služeb, rozhraní může vrátit prázdný objekt nebo prázdný řetězec, pokud vrátí NULL, odpověď rozhraní je: 204 No Content, i když 204 představuje normální kód odpovědi (není na tom nic špatného), ale,Některé zapouzdřené HTTP frameworky budou považovat pouze stav 200 za normální。 Takže změňte stavový kód 204 na 200.

Kód rozhraní:

Test je uveden níže:



Rozhraní vrací stav HTTP 204 No Content díky 4 implementacím formátování výstupů, které byly ve výchozím nastavení přidány v ASP.NET Core:

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


Zdrojový kód pro HttpNoContentOutputFormatter je následující:



Poznámka:Pokud rozhraní vrátí void typ, Task vrátí stavový kód HTTP 200protože to nejde do metody CanWriteResult v HttpNoContentOutputFormatter!! do tohoPokud metoda CanWriteResult vrátí true, projde WriteAsyncMetoda.





řešení

Odstraňte implementační třídu HttpNoContentOutputFormatter z kolekce OutputFormatters pomocí následujícího kódu:

Znovu přistupte k rozhraní a otestujte následovně:

Typ návratu je string?, vrací stavový kód 200 a nemá žádný výstup
Typ návratu je object?, vrací stavový kód 200 a vyhodí null

(Konec)




Předchozí:Docker kontejner je založen na aspnet:6.0 pro instalaci pingového nástroje
Další:Prohlížeč Windows Edge otevírá řešení pádu s IE
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com