How does one read the request body in ASP.NET? I’m using the REST Client add-on for Firefox to form a GET request for a resource on a site I’m hosting locally, and in the Request Body I’m just putting the string “test” to try to read it on the server.
In the server code (which is a very simple MVC action) I have this:
var reader = new StreamReader(Request.InputStream);
var inputString = reader.ReadToEnd();
But when I debug into it, inputString is always empty. I’m not sure how else (such as in FireBug) to confirm that the request body is indeed being sent properly, I guess I’m just assuming that the add-on is doing that correctly. Maybe I’m reading the value incorrectly?
Maybe I’m misremembering my schooling, but I think GET requests don’t actually have a body. This page states.
So maybe you’re doing things correctly, but you have to POST data in order to have a message body?
Update
In response to your comment, the most "correct" RESTful way would be to send each of the values as its own parameter:
Then your action will auto-bind these if you give it an array parameter by the same name:
Or if you’re a masochist you can maybe try pulling the values out of
Request.QueryStringone at a time.