ASP.NET Post接口, FromBody 接收到的总是空值(null).

主要原因是与后端接收参数格式不符

例如我定义一个后台接口. 像这样

public IActionResult postApi ([FromBody] int[] array){
  //doing sth...
}

但是前端传过来的格式是这样

{ 
  "array": [1,2,3] 
}

解决方法

  • 后端更改接参模型. 这样就能正确接收了.
public class postParams
{
    public int[] array{ get; set; }
}
public IActionResult ([FromBody] postParams params){
  int[] array = params.array;
  //doing sth...
}
  • 或者前端传递正确格式, 使用数组而不是对象. 后端api方法不改
[1,2,3]
posted @ 2023-04-11 15:49  友迪(Yogi)  阅读(59)  评论(0)    收藏  举报