控制器接收的参数
除了常规的形参、Request接收参数之外,可以在方法参数前面加上"[FromBody]"、"[FromForm]"、"[FromQuery]"、"[FromHeader]"之类的特性,指明数据来源。
可以尝试直接对对象变量赋值。
如对于Stu类 public record Stu(string Xm, int Cj);
形如 public IActionResult Index1([FromBody]Stu stu) 的方法,可以接收类似 {xm: "张三", cj: 80} 的JSon字符串和数据。
可以用 ModelState.IsValid 属性来判断赋值是否成功。
控制器的返回类型
默认是IActionResult。
对于通常直接访问的mvc来说
在返回内容的时候,除了默认视图,也可以通过 return View(视图名); 来返回同一控制器下的其他视图。
可以转到另外的控制器和动作上。如: RedirectToAction("Action1", "Controller1");
可以任意跳转,如: return Redirect("/新控制器/新动作");
对于通常由js发送请求的带控制器的webapi来说
返回的内容是json的,可以用 return Ok(对象); 的方式。
返回内容是字符串的,可以用形如 return Content("hi"); 的方式返回。
也可以在设计Action的时候,返回类型为对象类型(如Stu),或集合(如List<Stu>),直接return。返回的也是JSon。