日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core WEB API中接口参数的模型绑定的理解

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core WEB API中接口参数的模型绑定的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在.NET Core WEB API中參數的模型綁定方式有以下表格中的幾種:

微軟官方文檔說明地址:https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.1

特性??綁定源
[FromHeader]請求標頭
[FromQuery]請求查詢字符串參數
[FromForm]請求正文中的表單數據
[FromBody]請求正文
[FromRoute]當前請求中的路由
[FromServices]作為操作參數插入的請求服務

  接下來將對其中一些特性在實際中的使用方式做出簡要說明。首先要新建一個ASP .NET Core WEB API的工程。

  顧名思義就是從Http的Request Headers:中獲取數據。使用示例代碼如下:

?使用https用Url的方式請求訪問,方法返回的結果為空,如下圖所示。并且此時的Request Headers中并沒有headerParam參數。

使用Postman給方法的Request Headers加入 headerParam:10。此時方法返回了結果,如下圖所示。

console日志詳情如下圖:

通過以上測試可以發現,使用參數使用[FromHeader]特性時,沒有給參數賦值時,參數使用的是.NET中類型的默認值,也就是Default(T)。

?  對于復雜類型的參數請求,也就是參數類型為對象時,MVC中間件會默認以把數據轉換為JSON格式。對于Get請求如果想要用URL查詢字符串查詢數據。就得在參數前面加[FromQuery]特性,使用示例代碼如下:

使用Postman請求結果如下如下:

如果去掉[FromQuery]特性請求數據,就會提示415錯誤,如下圖所示:

對[FromQuery]的請求方式做出總結:

1.如果使用了[FromQuery]特性,必須使用請求查詢字符串作為參數,用JSON格式的數據請求則會報415錯誤。

2.如果去掉[FromQuery]特性,則必須使用JSON格式的數據請求,用請求從查詢字符串作為參數則會報415錯誤。

[FromForm]特性請求標頭中的Content-Type為form表單形式:Content-Type:"application/x-www-form-urlencoded",示例代碼如下:

Postman的請求結果如下:

?使用[FromBody]特性,MVC中間件會把請求參數默認轉換為JSON格式。所以請求是必須使用JSON格式的數據。示例代碼如下:

Postman的請求方式如下圖:

返回結果如下圖:

既然MVC中間件默認[FromBody]的參數請求為JSON格式,那可不可以使用XML格式的參數作為請求數據:

1.安裝NuGet包:Install-Package Microsoft.AspNetCore.Mvc.Formatters.Xml?

2.在Startup.cs的ConfigureServices方法中添加如下圖所示的方法AddXmlSerializerFormatters:

3.使用Postman的請求方式如下:

返回結果如下圖所示:

給Request Headers的請求頭加上 Accept: "text/xml" 可以指定返回的數據為xml格式,Postman的請求方式如下:

Postman的返回結果如下圖所示,通過下圖查看返回了xml的數據。

以上就是個人對請求參數特性的總結。

原文地址:https://www.cnblogs.com/fengye310/p/10541468.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的.NET Core WEB API中接口参数的模型绑定的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。