使用GET和POST方法的MVC web api

时间:2014-11-27 06:49:16

标签: asp.net-mvc

如何执行具有不同名称的MVC web api方法,但类型是GET和POST。我无法执行。它显示错误。这是我的代码。

webapiconfig.cs

           config.Routes.MapHttpRoute(
           name: "DefaultApi",
           routeTemplate: "api/{controller}/{id}",
           defaults: new { action = "get", id = RouteParameter.Optional }
           );

员工控制员:

  [HttpGet]
  public string Test1()
  {
      return "this is a test1 string";
  }

  [HttpGet]
  public string Test2()
  {
      return "this is a test2 string";
  }
    [HttpPost]
    public string Test3()
    {
        return "this is a test3 string";
    }

我想执行两个帖子并在不同场景中获取所有这些方法。怎么做?

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现这个目标

  • 为具有相同Http方法(HttpGet / HttPost / HttpPut)的方法指定不同的输入参数。

示例 -

 [HttpGet]
      public string Test1(string input)
      {
          return "this is a test1 string";
      }

[HttpGet]
  public string Test2()
  {
      return "this is a test2 string";
  }
  • 使用多个HttpGet为Controller中的每个方法指定显式的不同路由。

    [HTTPGET]     〔路线( “〜/ myController的/动作”)]     public string Test1(字符串输入)     {            返回“这是一个test1字符串”;     }

     [HttpGet]
        [Route("~/mycontroller/action2")]
        public string Test2()
        {
          return "this is a test2 string";
        }