在Web Api 2控制器方法中访问路径和POST参数

时间:2014-09-10 17:16:32

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

我有一个需要访问路由和POST正文参数的控制器。但是,当我使用此实现时

public class MessageController : ApiController
{
    [Route( "Data/Message/{apiKey}/{userId}" )] 
    [HttpPost]
    public Message Post( Guid apiKey, string userId, [FromBody] string message)
    {
        // ...
    }
}

message参数始终为null

如何访问所有apropos数据?

1 个答案:

答案 0 :(得分:2)

[FromBody]参数必须编码为值

你不试着这样做:

public Message Post( Guid apiKey, string userId, [FromBody] string message)
{
    // ...
}

试试这个

 public Message Post( Guid apiKey, string userId, [FromBody] string value)
 {
    // ...
 }

并使用这种代码用jquery执行POST请求:

  $.post('YourDomain/Data/Message/{apiKey}/{userId}', { '': value });

有关详细信息,请参阅链接http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/