2 回答
TA贡献1848条经验 获得超2个赞
我想出了一种将原始HttpRequest正文转换为查询字符串的方法,然后从中读取参数。
这是代码:
var queryString = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(requestBody);
string paramterValueIWant = queryString["KeyName"];
但是有一个问题,当KeyName体内不存在时,它会抛出异常。因此,您必须进行空检查或尝试捕获。
我仍然觉得应该有更好的方法来读取参数,正如我所提到的,在我的 .net 4.6 应用程序中,我需要做的就是Request["KeyName"].
TA贡献1804条经验 获得超3个赞
假设我们正在讨论 POST/PUT/PATCH 调用,您可以
Request.Form["KeyName"] 在您的 API 方法中使用并将 Ajax 请求的“contentType”设置为在您的方法中自动可用的application/x-www-form-urlencoded
通知Request。无需显式调用它。
使用 GET/DELETE 调用时,我更喜欢使用
[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 获取数据 Request.Form["KeyName"]
- 2 回答
- 0 关注
- 917 浏览
添加回答
举报
