Passing a List<string> to an MVC Web API method using the browser bar

asp.net-mvc, asp.net-web-api

Solution

Make sure your parameter of your action method is marked as [FromUri]. By default the value is expected to be passed from the body of the request since it is a complex type.

public List<string> Get([FromUri] List<string> parameter)
{...}

The query string parameter should be of this format `.../APIName?parameter[]=value1&parameter[]=value2&...`.

Hope this helps.

Problem

I have an MVC Web API Get method that accepts a `List<string>` as a parameter. I'm trying to access this method using simply the browser bar. How is this done? Using `../APIName?parameter1=value1&parameter2=value2&...` passes a single parameter between two ampersands as opposed to a list.

Original source