【问题标题】:Passing different type of argument to ApiController in mvc在 mvc 中将不同类型的参数传递给 ApiController
【发布时间】:2013-06-21 21:19:49
【问题描述】:

以下链接显示了如何创建 ApiController。

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

那么我们如何在具有不同参数的控制器中创建一个新方法。

类似的东西。

public bool SaveIttoDB(string name, string email, DateTime dob, int id)
{
    // code here
}

我们如何使用 URL 访问这个方法?

有人可以帮助我吗?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    这可行:

    注意,出于演示目的,我将 POST 操作转换为 GET 操作。

    public bool GetSaveItToDB(string name, string email, DateTime dob, int id)
    {
        // code here
    }
    

    你可以使用这个 url 来调用它:

    http://localhost/api/MyWebApiControllerName?name=John&email=john@doe.com&dpob=2012-13-05&id=1
    

    通常是 POST:

    public bool PostItToDB(string name, string email, DateTime dob, int id)
    {
        // code here
    }
    

    然后您可以将参数作为 POST 参数提供。

    【讨论】:

      【解决方案2】:

      该类型操作的 URL(假设它是 HttpGet)看起来像

      http://domain/controller/SaveItToDb/name?email=value&dob=value&id=value
      

      或者

      http://domain/controller/SaveItToDb?name=value&email=value&dob=value&id=value
      

      【讨论】:

      • 詹姆斯,网址正确吗???我们不需要传递名称的值吗??? http://domain/controller/SaveItToDb?name=value&email=value&dob=value&id=value 这个url正确吗???
      • @PaRsH name is 的值被传递 - 在两个 URL 中。
      • 我认为这不适用于 WebApi 控制器,因为它希望方法名称以 Get 或 Post 开头?除非你另外配置,当然
      • 我的评论的论据:stackoverflow.com/questions/9569270/…
      • 我们的控件中没有任何 post 方法。我们必须将 Action 命名为 GetSaveItIoDB 之类的名称,不是吗?
      猜你喜欢
      • 1970-01-01
      • 2020-12-26
      • 2017-05-10
      • 1970-01-01
      • 2018-01-02
      • 2012-10-27
      • 2020-02-06
      • 2023-04-02
      相关资源
      最近更新 更多