Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 3324|Atsakyti: 0

[Šaltinis] ASP.NET Core(23) API sąsaja NULL grąžina HTTP 204 būsenos kodą

[Kopijuoti nuorodą]
Paskelbta 2023-08-20 15:27:55 | | | |
Reikalavimai: Naudokite ASP.NET Core 6, kad sukurtumėte naują žiniatinklio API projektą išorinėms paslaugoms teikti, sąsaja gali grąžinti tuščią objektą arba tuščią eilutę, jei ji grąžina NULL, sąsajos atsakymas yra: 204 Nėra turinio, nors 204 reiškia įprastą atsakymo kodą (jame nėra nieko blogo), betKai kurios kapsuliuotos HTTP sistemos laikys tik 200 būsenos kodą normaliu。 Taigi pakeiskite 204 būsenos kodą į 200 būsenos kodą.

Sąsajos kodas:

Testas parodytas žemiau:



Sąsaja pateikia HTTP 204 be turinio būsenos kodą dėl 4 išvesties formatavimo diegimų, įtrauktų pagal numatytuosius nustatymus ASP.NET Core:

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


HttpNoContentOutputFormatter šaltinio kodas yra toks:



Nata:Jei sąsaja pateikia void tipą, Task grąžina HTTP 200 būsenos kodąnes jis nepatenka į CanWriteResult metodą HttpNoContentOutputFormatter!! į jįJei metodas "CanWriteResult" grąžina teisingą, jis bus naudojamas "WriteAsync"Metodas.





sprendimas

Pašalinkite HttpNoContentOutputFormatter diegimo klasę iš rinkinio OutputFormatters naudodami šį kodą:

Dar kartą pasiekite sąsają, išbandykite taip:

Grąžinimo tipas yra eilutė?, pateikia 200 būsenos kodą ir neturi jokios išvesties
Grąžinimo tipas yra objektas?, pateikia 200 būsenos kodą ir išveda nulinę

(Pabaiga)




Ankstesnis:"Docker" konteineris yra pagrįstas aspnet:6.0, kad būtų galima įdiegti ping įrankį
Kitą:"Windows Edge" naršyklė atidaro gedimo sprendimą su IE
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com