【问题标题】:WebAPI route configuration for multiple HttpPost's with different actions具有不同操作的多个 HttpPost 的 WebAPI 路由配置
【发布时间】:2014-10-23 14:37:28
【问题描述】:

我不想做 REST。我想要这个:

public class MyV2Controller 
{
    [HttpPost]
    public Task<UserModel> Action1([FromBody] FirstModel firstModel)
    { }

    [HttpPost]
    public Task<UserModel> Action2([FromBody] SecondModel secondModel)
    { }
}

路线应与此对齐:

http://localhost:1234/api/v2/my/action1/

http://localhost:1234/api/v2/my/action2/

我尝试了许多不同的路由配置(包括属性路由的各种组合),但似乎没有任何效果。我该如何完成这项工作?

【问题讨论】:

  • 如何从客户端调用这个?

标签: c# asp.net-web-api


【解决方案1】:
Using Route attribute

[RoutePrefix("api/v2/my")]
public class MyV2Controller 
{
    [HttpPost]
    [Route("action1")]
    public Task<UserModel> Action1([FromBody] FirstModel firstModel)
    { }

    [HttpPost]
    [Route("action2")]
    public Task<UserModel> Action2([FromBody] SecondModel secondModel)
    { }
}

【讨论】:

  • 我一直在尝试将 {firstModel} 和 {secondModel} 参数添加到路由属性。正如您的回答指出的那样,它们不是必需的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2018-09-04
  • 2016-04-03
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多