使用 FromBody 属性
Using the FromBody attribute
我正在尝试使用 FromBody
属性,但是它不起作用。这是我的方法:
[HttpPost]
public void SetMap([FromBody]int mapId)
{
Console.WriteLine("Map: {0}", mapId);
}
我正在向名为 mapId
的请求添加一个值为 10000
的参数,但是,输出始终为 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 + ".");
}
您的客户端代码正在发送此请求消息:
POST /Character/SetMap?mapId=1000
Body: [empty]
您的服务器代码需要这样的请求消息:
POST /Character/SetMap
Body: 1000
您应该将 [FromBody]
属性切换为 [FromUri]
以便您的客户端和服务器匹配。
我正在尝试使用 FromBody
属性,但是它不起作用。这是我的方法:
[HttpPost]
public void SetMap([FromBody]int mapId)
{
Console.WriteLine("Map: {0}", mapId);
}
我正在向名为 mapId
的请求添加一个值为 10000
的参数,但是,输出始终为 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 + ".");
}
您的客户端代码正在发送此请求消息:
POST /Character/SetMap?mapId=1000
Body: [empty]
您的服务器代码需要这样的请求消息:
POST /Character/SetMap
Body: 1000
您应该将 [FromBody]
属性切换为 [FromUri]
以便您的客户端和服务器匹配。