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