Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a POST request using Advanced Rest Client

I am learning basics of ASP.Net MVC 5. And I want to make a POST request to one of my controller action present in SecurityController using Advanced rest Client. But I am not able to do so. Please guide me.

Below is my attempt:

[HttpPost]
public ActionResult Hello(SampleMV viewModel)
{
    return Content("Hello");
}

public class SampleMV
{
    public int one { get; set; }
    public int two { get; set; }
    public int? three { get; set; }
}

Now what are the changes I need to make in my Advanced Rest Client?

Step 1. set request dropdown to POST

Step 2. in the raw payload section I added below explicitly:

one = 2, two = 3, three = 4  seperated by comma.

I am not sure if this is the right way.

Step 3. Do I need to put some content type or any other configuration. Currently, I am getting error as Resource not found.

Here is the screenshot:

enter image description here EDIT: Another Attempt

like image 290
Unbreakable Avatar asked May 04 '17 15:05

Unbreakable


Video Answer


2 Answers

Your payload is malformed, the object definition in JSON should be { "one":2, "two":3, "three":4 }

like image 106
Gusman Avatar answered Sep 17 '22 11:09

Gusman


404 means you have a routing problem. It's not related to the payload as that doesn't contribute to the route in any way. Assuming this method is SecurityController.Hello, and you're utilizing the default route, a request to /security/hello should go to the right place. As a result, it may be helpful to include your RouteConfig.cs in your question, as well.

Also, if you're utilizing an ApiController, I think action names must follow the convention of starting with the request method. In other words, your Hello action needs to be named PostHello.

Once you get the routing sorted, the way you have the request body as JSON, now, should work fine. For future reference, "raw" would need to be application/x-www-form-urlencoded, i.e. one=1&two=2&three=3

like image 45
Chris Pratt Avatar answered Sep 18 '22 11:09

Chris Pratt