在我们的应用程序(单页面应用程序)中,我们使用MVC控制器(Action方法作为API)进行CRUD操作.我觉得它错了.
谁能告诉我它是否正确?
例如:-
我有一个API控制器说: –
public class MockAPIController : ApiController
{
// GET api/MockAPI/5
public ClassA GetSomething(int id)
{
return new ClassA();
}
}
这可以使用/ api / MockAPI / GetSomething / 1从客户端调用.同样,如果我创建MVC控制器,如: –
public class MockAPIController : Controller
{
// GET api/MockAPI/5
public ActionResult GetSomething(int id)
{
return new JsonResult(new ClassA(),JsonRequestBehavior.AllowGet);
}
}
不过,我可以让它发挥作用.有人可以告诉我,对于使用MVC控制器的API有什么缺点吗?
编辑:-
是否建议将MVC Controller用于API方法?如果不是,那么有人可以指出它的-ve方面吗?
最佳答案 据我了解,
MVC controllers are extended over API Controller. You can do almost
everything what can be done with API Controller.
(People please correct me if I am wrong, its purely my understanding which I am sharing!)
现在,如果你的应用程序是一个基于Web的应用程序/互联网或内部网,你很少有api调用,那么你可以坚持使用MVC控制器.只关心需要注意的是发送数据作为JsonResult(基本上序列化为JSON或其他).如果您有更多的SPA基础知识,那么API控制器就是您所需要的.
我自己没有发现很多文章说明了一个强大的界限分隔什么时候使用,开发人员总是很难决定和实施.