调用WebApi端点传入对象

时间:2019-11-01 14:02:40

标签: c# asp.net-core asp.net-web-api httpclient restsharp

我有以下端点

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

Data类如下

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方法中的data参数始终为null。有什么想法我做错了吗?

1 个答案:

答案 0 :(得分:2)

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