使用FromBody属性

时间:2015-07-28 20:50:31

标签: c# post restsharp

我正在尝试使用FromBody属性,但是,它不起作用。这是我的方法:

[HttpPost]
public void SetMap([FromBody]int mapId)
{
    Console.WriteLine("Map: {0}", mapId);
}

我在名为mapId的请求中添加了一个参数,其值为10000,但输出始终为0。为什么会这样?

我正在使用POST发送RestSharp请求,如下所示:

private void button1_Click(object sender, EventArgs e)
        {

            var client = new RestClient("http://localhost:8999");
            var request = new RestRequest(Method.POST);



            request.Resource = "Character/SetMap";
            request.AddParameter("mapId", 1000);

            var response = client.Execute(request);

            var data = response.Content;

            MessageBox.Show("Online: " + data + ".");
        }

1 个答案:

答案 0 :(得分:1)

您的客户端代码正在发送此请求消息:

POST /Character/SetMap?mapId=1000
Body: [empty]

您的服务器代码需要这样的请求消息:

POST /Character/SetMap
Body: 1000

您应该将[FromBody]属性切换为[FromUri],以便客户端和服务器匹配。