如何通过JSON POST数据的Web API方法为研究对象
1个回答
展开全部
当我发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(),然后在函数中就可以读取流数据了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询