Web API passing Object to a Get method
asp.net-mvc, asp.net-web-api
Solution
I think that
public IEnumerable<ArticleMetaData> GetComponentXMLByDate([FromUri]ComponentRequest request)
{
// Some logic here
return articleMeta;
}
should work.
Mike Stall has a good article on how-webapi-does-parameter-binding
Problem
is there a way to pass an object as a parameter in a Get method in Web API? I have the following case: In my Web.API project the Get method looks like that: ``` public IEnumerable<ArticleMetaData> GetComponentXMLByDate(ComponentRequest request) { // Some logic here return articleMeta; } ``` My ComponentRequest object looks like: ``` public class ComponentRequest { public string startdate { get; set; } public string enddate { get; set; } public string pagenumber { get; set; } public string pagesize { get; set; } } ``` I am trying to call it this way: http://mydomain.com/api/values/?startdate=121922&enddate=063020&pagenumber=2&pagesize=100 In the method ComponentRequest request is coming as null. If I change the method to accept multiple string parameters instead of the object it works fine. Am I missing something in my setup?