升级到 .NET 6 后 [FromBody] 参数值为 null
将一个项目升级到 ASP.NET Core 6 之后,下面的 Controller Action 中 query 值总是为 null
public SearchResult GetByQuery(string appName, [FromBody] ZzkQuery query)
{
// ...
}
curl 请求的参数如下
-H "Content-Type: application/json; charset=UTF-8" -d '{"QueryStr":"test"}'
请问如何解决?
回答
给第1参数加上 [FromRoute] 可以解决
public SearchResult GetByQuery([FromRoute]string appName, [FromBody] ZzkQuery query)
{
// ...
}