C# ASP.NET WebAPI 中的引數繫結是什麼?
繫結是當 Web API 呼叫控制器操作方法時為引數設定值的過程。
具有不同型別引數的 Web API 方法以及如何自定義繫結過程。
如果引數是簡單型別,例如 int、bool、double 等,Web API 會嘗試從 URI(從路由資料或查詢字串中)獲取值。
如果引數是複雜型別,例如 Customer、Employee 等,則 Web API 框架會嘗試從請求正文中獲取值。
我們可以使用 [FromBody] 和 [FromUri] 屬性更改引數繫結過程的此預設行為。
FromUri −
如果引數為簡單型別,則 Web Api 會嘗試從 URI 獲取值
.NET 原生型別,如 double、DateTime、GUID 字串,任何可以從 String 型別轉換的型別
示例
public Student Get(int id){}FromBody
如果引數為複雜型別,則 Web Api 將嘗試從訊息正文繫結值。
示例
Public Student Post(Employee employee){}[FromUri]
要強制 Web API 從 URI 讀取複雜型別,請將 [FromUri] 屬性新增到引數
使用 [FromUri] 屬性強制 Web Api 從 QueryString 獲取複雜型別的值。
示例
public Student Get([FromUri] Employee employee)
public HttpResponseMessage Get([FromUri] Employee employee) { ... }[FromBody]
使用 [FromBody] 屬性從請求正文獲取原始型別的值,與預設值相反
否,不允許在一個操作中使用多個 FormBody。
要強制 Web API 從請求正文讀取簡單型別,請新增 [FromBody]
在此示例中,Web API 將使用媒體型別格式化程式從請求正文讀取 name 的值
示例
public Student Post([FromBody] string name]){...}
public HttpResponseMessage Post([FromBody] string name) { ... }
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP