asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 如何在WebAPI中获取POST数据?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我以下面的形式发送一个请求到服务器:
http://localhost:12345/api/controller/par1/par2

该请求正确解析为以下方法:

[httpPost]
public void object Post(String par1,String par2)

但是,我通过请求内容传递额外的数据。如何检索这些数据?

为了举例,让我们说,请求是从以下形式发送的:

<form action="http://localhost:12345/api/controller/par1/par2" method="post">
    <input type="hidden" name="data" value="value" />
    <input type="submit" name="submit" value="Submit" />
</form>

解决方法

answer在这个问题:
How to get Post Values with asp.net webapi

> Autoparse使用参数绑定;注意,动态由JToken组成,因此.Value访问器。

public void Post([FromBody]dynamic value) {
    var x = value.var1.Value; // JToken
}

> Read就像request.requesturi.ParseQueryString()[key]

public async Task Post() {        
   dynamic obj = await request.Content.ReadAsAsync<JObject>();
   var y = obj.var1;
}

>与#2相同,只是不是异步的(?),所以你可以在一个帮助方法中使用它

private T GetPostParam<T>(String key) {
    var p = request.Content.ReadAsAsync<JObject>();
    return (T)Convert.ChangeType(p.result[key],typeof(T)); // example conversion,could be null...
}

警告 – 期望媒体类型应用程序/ json为了触发JsonMediaTypeFormatter处理。

大佬总结

以上是大佬教程为你收集整理的asp.net – 如何在WebAPI中获取POST数据?全部内容,希望文章能够帮你解决asp.net – 如何在WebAPI中获取POST数据?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。