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?

Original source

Related problems