首页 > 代码库 > Web Api 获取post json数据
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(),然后在函数中就可以读取流数据了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。