调用 WebApi 端点传入对象

Call WebApi Endpoint Passing in Object

我有以下端点

[HttpPost]
[DisableRequestSizeLimit]
[RequestFormLimits(KeyLengthLimit = int.MaxValue)]
public IActionResult PostData([FromForm]Data data)

数据 class 看起来像这样

public class Data
{
    public string A { get; set; }
    public string B { get; set; }
}

我是这样调用这个端点的

var url = ...;

var client = new HttpClient();
var data = new
{
    a = "Foo",
    b = "Bar"
};
var result = await client.PostAsJsonAsync(url, data);

但是PostData方法中的数据参数总是为空。知道我做错了什么吗?

如果您的内容类型是 application/json,请使用 [FromBody] 而不是 [FromForm]