.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等)。