public string Post([FromBody]string value) 收不到数据

https://www.tnblog.net/aojiancc2/article/details/3834

https://www.tnblog.net/aojiancc2/article/details/2874

https://blog.csdn.net/HerryDong/article/details/108201915?utm_source=app&app_version=4.14.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

以上三个链接内容可以解决收不到数据的问题。

.NET  WEB API 定义

     // POST: api/WorkOrder
        public string Post([FromBody]string value)
        {
            return value;
        }

测试Postman

  这个正确收到数据

用下列函数发送json数据:value总是null   错误!!!

     public string PostJsonToAPI()
        {
            string url = "http://localhost:11484/api/workorder";
            string strJson = "{"employee":{ "name1":"Bill Gates", "age":62, "city":"Seattle" }}";
            string result = "";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "post";
            req.ContentType = "application /json"; 
            byte[] data = Encoding.UTF8.GetBytes(strJson);
            req.ContentLength = data.Length;
            using (Stream reqStream = req.GetRequestStream())
            {
                reqStream.Write(data, 0, data.Length);
                reqStream.Close();
            }

            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            string status = resp.StatusDescription;
            //HttpStatusCode  statusCode = resp.StatusCode; 
            Stream stream = resp.GetResponseStream();
            //获取响应内容
            using (StreamReader sr = new StreamReader(stream, Encoding.UTF8))
            {
                result = sr.ReadToEnd();
            }
            return result;
        }

定义WEB API 如下:

         public string Post([FromBody] Object value)  
        {
            return value.ToString();
        }

正确接收PostJsonToAPI()发来的数据。

有地方说明原因:[FromBody] 参数不能是基本的数据类型(如byte、int、bool、DateTime、string等)。

原文地址:https://www.cnblogs.com/wfy680/p/15165245.html