6

I have an WEB API method that uses [FromUri] to bind complex type object to my view model, and in this view model, I have a list of complex object inside it. How do I populate this list when I do a GET request?

This is my method from WEB API:

[HttpGet]
public HttpResponseMessage ListPaged([FromUri]PaginationReParams parameters)
{
   // DO SOMETHING HERE...
}

The PaginationReqParams view model

public class PaginationReqParams
    {
        public PaginationReqParams()
        {
            this.Filters = new List<FiltersReq>();
        }

        public List<FiltersReq> Filters { get; set; }
        public Int32 Page { get; set; }
        public Int32 PageSize { get; set; }
    }

The FiltersReq class

public class FiltersReq 
    {
        public String Field { get; set; }
        public String Value { get; set; }
        public String ComparisonOperator { get; set; }
    }

When I pass parameters to my query string Like "page" it binds normally, but how do I do to bind the "Filters" parameter?

1 Answer 1

11

Pass the parameters like this:

?page=1&pagesize=10&filters[0].Field=name&filters[0].Value=aladdin&filters[0].ComparisonOperator=eq&filters[1].Field=age&filters[1].Value=18&filters[1].ComparisonOperator=eq
Sign up to request clarification or add additional context in comments.

1 Comment

max URL length allowed is still 2,083 characters :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.