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(),然后在函数中就可以读取流数据了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM