Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3324|Odpoveď: 0

[Zdroj] ASP.NET Rozhranie API Core(23) NULL vracia stavový kód HTTP 204

[Kopírovať odkaz]
Zverejnené 20. 8. 2023 15:27:55 | | | |
Požiadavky: Použite ASP.NET Core 6 na vytvorenie nového projektu Web API na poskytovanie externých služieb, rozhranie môže vrátiť prázdny objekt alebo prázdny reťazec, ak vráti NULL, odpoveď rozhrania je: 204 No Content, hoci 204 predstavuje bežný kód odpovede (nie je s tým nič zlé), ale,Niektoré zapuzdrené HTTP frameworky považujú za normálny iba stavový kód 200。 Takže zmeňte stavový kód 204 na 200.

Kód rozhrania:

Test je zobrazený nižšie:



Rozhranie vracia stavový kód HTTP 204 No Content kvôli 4 implementáciám formátovania výstupov, ktoré boli predvolene pridané 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 pre HttpNoContentOutputFormatter je nasledovný:



Nota:Ak rozhranie vráti void typ, Task vráti stavový kód HTTP 200pretože sa nepoužíva v metóde CanWriteResult v HttpNoContentOutputFormatter!! do tohoAk metóda CanWriteResult vráti true, prejde cez WriteAsyncMetóda.





riešenie

Odstráňte implementačnú triedu HttpNoContentOutputFormatter z kolekcie OutputFormatters pomocou nasledujúceho kódu:

Pristupte k rozhraniu znova, otestujte nasledovne:

Typ návratu je reťazec?, vráti stavový kód 200 a nemá žiadny výstup
Typ návratu je object?, vráti stavový kód 200 a výstupom je null

(Koniec)




Predchádzajúci:Docker kontajner je založený na aspnet:6.0 na inštaláciu nástroja ping
Budúci:Prehliadač Windows Edge otvára riešenie pádu s IE
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com