2 回答

TA貢獻1848條經(jīng)驗 獲得超2個贊
我想出了一種將原始HttpRequest正文轉(zhuǎn)換為查詢字符串的方法,然后從中讀取參數(shù)。
這是代碼:
var queryString = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(requestBody);
string paramterValueIWant = queryString["KeyName"];
但是有一個問題,當KeyName體內(nèi)不存在時,它會拋出異常。因此,您必須進行空檢查或嘗試捕獲。
我仍然覺得應(yīng)該有更好的方法來讀取參數(shù),正如我所提到的,在我的 .net 4.6 應(yīng)用程序中,我需要做的就是Request["KeyName"].

TA貢獻1804條經(jīng)驗 獲得超3個贊
假設(shè)我們正在討論 POST/PUT/PATCH 調(diào)用,您可以
Request.Form["KeyName"] 在您的 API 方法中使用并將 Ajax 請求的“contentType”設(shè)置為在您的方法中自動可用的application/x-www-form-urlencoded
通知Request。無需顯式調(diào)用它。
使用 GET/DELETE 調(diào)用時,我更喜歡使用
[HttpGet("{UserId}")] // api/User/{UserId}
public IActionResult Get(int UserId){
// do stuff calling directly UserId
}
或使用 PUT/PATCH
[Route("User/{EntityId}/{StatusFilter}")] // api/User/{EntityId}/{StatusFilter}
[HttpPut]
public IActionResult Put(int EntityId, int StatusFilter){
// do stuff calling directly EntityId and StatusFilter
}
然后你仍然可以使用從 Body 獲取數(shù)據(jù) Request.Form["KeyName"]
- 2 回答
- 0 關(guān)注
- 880 瀏覽
添加回答
舉報