2016-11-02 4 views
0

Я Web API, разработанный в рамках 4 и код, как показано нижепроход тип класса в качестве параметра в HttpWebRequest потреблять Web API

[HttpPost] 
     public string ValidateData(List<MsrValidateData> data) 
     { 
      return _repository.ValidateAllData(data); 
     } 

Теперь я хочу, чтобы потреблять это в веб-части формы сервера asp.net Как я потребляю с HttpWebRequest размещать список типов данных

Я использую как этого

System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url); 
     req.ContentType = "application/json"; 
     req.Method = "POST"; 

Но как я передаю список типов данных в качестве параметра т o запрос?

ответ

0

У вас нет общей структуры вашего класса MsrValidateData, поэтому я использую поля1 и поле2 для своих полей. Пожалуйста, замените FIELD1 & поле2 с реальными полями класса MsrValidateData и добавить данные на ваш запрос, как показано ниже:

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); 
    }