2013-03-22 11 views
8

Web APIのGetメソッドでオブジェクトをパラメータとして渡す方法はありますか?私は、次のような場合があります。私のWeb.APIプロジェクトでGetメソッドにオブジェクトを渡すWeb API

Getメソッドは、以下のようになります。

public IEnumerable<ArticleMetaData> GetComponentXMLByDate(ComponentRequest request) 
     { 
      // Some logic here 
      return articleMeta; 
     } 

のように私のComponentRequestオブジェクトが見えます:私はこのそれを呼び出すようにしようとしています

public class ComponentRequest 
    {   
     public string startdate { get; set; } 
     public string enddate { get; set; }  
     public string pagenumber { get; set; } 
     public string pagesize { get; set; } 
    } 

方法:

http://mydomain.com/api/values/?startdate=121922&enddate=063020&pagenumber=2&pagesize=100

メソッドでは、ComponentRequest requestがnullとして返されます。オブジェクトの代わりに複数の文字列パラメータを受け取るようにメソッドを変更すると、正常に動作します。

設定に何か不足していますか?

答えて

13

私は

public IEnumerable<ArticleMetaData> GetComponentXMLByDate([FromUri]ComponentRequest request) 
{ 
    // Some logic here 
    return articleMeta; 
} 

が動作するはずだと思います。

マイクストールについての良い記事how-webapi-does-parameter-binding

関連する問題