關於修改.net core webapi中null默認返回的狀態碼。


  在asp .net core webapi中,http請求的響應數據如果是null的話,我們知道狀態碼會返回204,即NoContent,為什么會出現這種情況呢?

     因為在返回響應數據的時候,null值會被額外的被HttpNoContentOutputFormatter包裝,它會默認把null值當作服務器端沒有數據響應,響應狀態碼為204處理。所以客戶端在接收到響應數據的時候,返回的是204 NoContent。

  但是在某些應用中,它可能把204狀態碼當作一種錯誤的響應碼(如:IOS端釘釘小程序),所以這時候要求服務端要返回響應數據null,而不是空數據,並且狀態碼要變為200。所以這時候我們就要把HttpNoContentOutputFormatter給重新封裝,代碼如下:

       還需要引入Microsoft.AspNetCore.Mvc.Formatters命名空間,進行如下配置:

  

  如上配置之后,再次請求,結果為null返回的狀態碼就是200,響應數據就是null,而不是空數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM