Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3324|Atbildi: 0

[Avots] ASP.NET Core(23) API interfeiss NULL atgriež HTTP 204 statusa kodu

[Kopēt saiti]
Publicēts 20.08.2023 15:27:55 | | | |
Prasības: Izmantojiet ASP.NET Core 6, lai izveidotu jaunu Web API projektu, lai nodrošinātu ārējos pakalpojumus, interfeiss var atgriezt tukšu objektu vai tukšu virkni, ja tas atgriež NULL, interfeisa atbilde ir: 204 Nav satura, lai gan 204 ir parastais atbildes kods (tajā nav nekas slikts), bet,Daži iekapsulēti HTTP ietvari tikai uzskatīs 200 statusa kodu par normālu。 Tāpēc mainiet 204 statusa kodu uz 200 statusa kodu.

Interfeisa kods:

Tests ir parādīts zemāk:



Interfeiss atgriež HTTP 204 bez satura statusa kodu, jo pēc noklusējuma ASP.NET Core ir pievienotas 4 izvades formatēšanas implementācijas:

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


HttpNoContentOutputFormatter avota kods ir šāds:



Piezīme:Ja interfeiss atgriež void tipu, uzdevums atgriež HTTP 200 statusa kodujo tas nenonāk CanWriteResult metodē HttpNoContentOutputFormatter!! tajāJa CanWriteResult metode atgriež true, tā tiks izmantota WriteAsyncMetode.





šķīdums

Noņemiet HttpNoContentOutputFormatter ieviešanas klasi no kolekcijas OutputFormatters ar šādu kodu:

Vēlreiz piekļūstiet saskarnei, pārbaudiet šādi:

Atgrieztais tips ir virkne?, atgriež statusa kodu 200 un tam nav izvades
Atgrieztais tips ir objekts?, atgriež statusa kodu 200 un izvada nulli

(Beigas)




Iepriekšējo:Docker konteiners ir balstīts uz aspnet:6.0, lai instalētu ping rīku
Nākamo:Windows Edge pārlūks atver avārijas risinājumu ar IE
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com