Web Api 获取post json数据

   这周在做一个webApi的模拟后台。遇到些问题。和大家分享一下,以前没有搞过webapi。所以不是太懂。

   当我发post请求的json数据过来的时候,如果我用context.Request .Form去收的时候会发现,一小半的json数据跑到了Key里面,其他数据在form[0]中,很奇怪。后来恍然大悟我发送的又不是表单干嘛用表单去接收,然后去用HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);直接读取流然后再转码。转码当然要用你当时发过来的编码去转,不然会乱码。发现可以获取整个json。但是又有问题了,我webApi中post上来的都会进入 public void Post([FromBody]string value)这个方法中,在这个方法中用InputStream.Read读取不到,原来是因为[FromBody]string value 这边已经读取过了。如果写成[FromBody]Test test 的话就会把表单中的值写入到这个定义好的类中。所以webapi中帮我们已经封装了获取表单中的数据放入类中。但是咱这边不是表单,是json,所以只要把[FromBody]去掉就可以了,直接调用post(),然后在函数中就可以读取流数据了。

转载于:https://www.cnblogs.com/lufei-zx/p/3873106.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值