在ASP.NET 5 MVC 6中,Microsoft将普通的MVC控制器类(Controller)与Web Api控制器类(ApiController)合并.现在只有一个Controller继承的类,其中包括WebApi的功能.
所以现在区分MVC和WebApi控制器并不是那么简单.两者都继承自Controller班级.我能发现的唯一的区别是的WebAPI的路由信息仍然由属性提供HttpGet,HttpPost,HttpPut和HttpDelete.但现在可以使用属性路由对MVC控制器执行相同操作,只需使用不同的属性.
即使这些功能似乎已合并.MVC控制器现在也支持内容协商.
具体问题是:
是否仍然存在真正的差异,或者仅仅是指定路线的方式?现在哪种方式是创建网络应用的首选方式?
(差不多)空的MVC控制器:
public class HomeController : Controller
{
public List<Person> Index()
{
return new List<Person>()
{
new Person() {Firstname = "test1", Lastname = "test2"},
new Person() {Firstname = "test3", Lastname = "test4"}
};
}
public IActionResult About()
{
ViewData["Message"] = "Your application description page.";
return View();
}
public IActionResult Contact()
{
ViewData["Message"] = "Your contact page."; …Run Code Online (Sandbox Code Playgroud)