簡體   English   中英

通過類的列表類型作為HttpWebRequest中的參數來使用Web API

[英]pass list type of class as parameter in HttpWebRequest to consume Web API

我在框架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用於其字段。 請用您的MsrValidateData類的實際字段替換field1和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);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM