万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!

 

控制器接收的参数

除了常规的形参、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。

 

posted on 2024-05-13 15:49  万金流  阅读(105)  评论(0编辑  收藏  举报