使用FromBody属性

本文关键字:属性 FromBody 使用 | 更新日期: 2023-09-27 18:05:17

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

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

我添加一个参数到我的请求称为mapId10000的值,但是,输出始终是0。为什么会这样?

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

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 + ".");
        }

使用FromBody属性

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

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

您的服务器代码正在等待这样的请求消息:

POST /Character/SetMap
Body: 1000

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