I have an existing WebApi action, that I want to switch from HttpPost to HttpGet. It currently takes a single complex object as parameter.
The model:
public class BarRequest
{
[JsonProperty("catid")]
public int CategoryId { get; set; }
}
The controller:
public class FooController : ApiController
{
//[HttpPost]
[HttpGet]
[ActionName("bar")]
public void Bar([FromUri] BarRequest request)
{
if (request != null)
{
// CategoryId should be 123, not 0
Debug.WriteLine("Category ID :: {0}", request.CategoryId);
}
}
}
Now when I send the following request, everything works as expected.
GET /foo/bar?CategoryId=123
Also the old POST request worked as expected.
POST /foo/bar {"catid":123}
But now I need the following request to work:
GET /foo/bar?catid=123
How can I accomplish this?