C# WebApi 获取POST Body内的数据

2020-11-13  乐帮网

webapi c#

WebApi从Body里获取获取原始数据只需要如下代码就可以了。

string content = Request.Content.ReadAsStringAsync().Result;

但是用到我的项目里它就是获取不了,我本意是想要拿到原始数据来分析,本来在接口的方法参数中已经使用实体接收过参数了,实体中是已经有数据。百思不得其解,无意翻到之前的NetCore项目才恍然大悟。Body本身就是Stream,它是一个数据流,只能超前读取内容,内置指针的,当我第一次读取的时候指针的位置就已经随着位置偏移了,再次读取肯定读不出来,当初写NetCore的中间件的时候已经遇到过,当时写了个自定义插件使Post方法接收的实体可以是多个。

只要所指针移动到初始位置我们就可以读取了,代码如下:

Request.Content.ReadAsStreamAsync().Result.Seek(0, System.IO.SeekOrigin.Begin);
string content = Request.Content.ReadAsStringAsync().Result;

特此记录!

推荐文章:

MVC5 webapi2 自定义路由参数无效

MVC WebApi 在控制器“”上找不到与该请求匹配的操作

C# WebApi 获取POST Body内的数据

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力