c# – 使用MVC控制器进行Web API的缺点

在我们的应用程序(单页面应用程序)中,我们使用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控制器就是您所需要的.

我自己没有发现很多文章说明了一个强大的界限分隔什么时候使用,开发人员总是很难决定和实施.

点赞