2013-03-22 14 views
8

Web API'sında Get yönteminde bir nesneyi parametre olarak iletmenin bir yolu var mı?Web API nesnesini bir Get yöntemine geçirme

Benim Web.API projede

Get yöntemi benziyor: Bu diyoruz çalışıyorum

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

: gibi

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

Benim ComponentRequest nesne görünüyor Aşağıdaki durum var yol:

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

ComponentRequest isteği yönteminde null olarak geliyor. Nesne yerine birden çok dize parametresini kabul etmek için yöntemi değiştirirseniz, iyi çalışır.

Kurulumumda bir şey özlüyor muyum?

cevap

13

Ben

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

çalışması gerektiğini düşünüyorum.

Mike Stall, iyi bir makaleye sahiptir how-webapi-does-parameter-binding

İlgili konular