传递类的列表类型作为HttpWebRequest的参数来使用Web API
本文关键字:参数 Web HttpWebRequest API 列表 类型 | 更新日期: 2023-09-27 18:15:50
我在框架4中开发了Web API,代码如下
[HttpPost]
public string ValidateData(List<MsrValidateData> data)
{
return _repository.ValidateAllData(data);
}
现在我想在asp.net web表单服务器端使用它我如何使用HttpWebRequest
来发布列表类型的数据
我像这样使用
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
req.ContentType = "application/json";
req.Method = "POST";
但是我如何将列表类型的数据作为参数传递给请求?
您还没有共享您的类MsrValidateData的结构,所以我使用field1和field2为其字段。请替换字段1 &使用MsrValidateData类的实际字段field2,并将数据添加到您的请求中,如下所示:
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
req.ContentType = "application/json";
req.Method = "POST";
string postData = @"
{
'Data':
[
{ 'field1': 'value11', 'field2': 'value12' },
{ 'field1': 'value11', 'field2': 'value12' },
{ 'field1': 'value11', 'field2': 'value12' }
]
}";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
req.ContentLength = byteArray.Length;
System.IO.Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
创建新类ListMsrValidateData:
public class ListMsrValidateData
{
public List<MsrValidateData> Data { get; set; }
}
修改ValidateData方法,如下所示:
[HttpPost]
public string ValidateData([FromBody] ListMsrValidateData data)
{
return _repository.ValidateAllData(data);
}