2016-11-02 7 views
0

を消費するHttpWebRequestの中で私は、フレームワーク4とコードで開発したWeb APIを持っている今、私はasp.net Webフォームのサーバー側でこれを消費したいようパスリスト型のWeb API

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

を下回っています 私はデータ

のリストタイプを投稿するHttpWebRequestで消費するにはどうすればよい私はこの

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

のように使用しています。しかし、どのように私は、パラメータtとして、データのリストタイプを渡しますOリクエスト?

答えて

0

あなたのクラスMsrValidateDataの構造を共有していないので、フィールドにfield1とfield2を使用しています。クラスMsrValidateDataの実際のフィールドとフィールド1 &フィールド2を交換し、下図のようにあなたの要求にデータを追加してください:

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); 
    } 
関連する問題