该问题可能是由于POST请求没有正确设置消息正文导致的。可以使用HttpClient类的PostAsync方法来发送POST请求,并通过StringContent类设置JSON消息正文。以下是一个示例代码:
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class MyModel
{
public string Name { get; set; }
public int Number { get; set; }
}
public class MyController : ApiController
{
[HttpPost]
public async Task MyAction([FromBody] MyModel model)
{
// some code here
}
}
public class MyTest
{
[Fact]
public async Task MyTestAction_ShouldReturnOk()
{
var client = new HttpClient();
var url = "http://localhost:1234/api/MyController/MyAction";
var model = new MyModel { Name = "test", Number = 123 };
var json = JsonConvert.SerializeObject(model);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
}
}