首页 > asp.net mvc 中的 controller和asp.net web api 的apicontroller有什么区别?

asp.net mvc 中的 controller和asp.net web api 的apicontroller有什么区别?

我现在在做一个CRM网站,前段用的是extjs(因此只有一个index.cshtml,里面引用了extjs的js文件),没有用的上asp.net mvc的核心功能,因此我想用web api,前段用extjs,只是通过submit或者ajax从后端取数据,我想问一下我的这种情况(不用asp.net mvc中的view)适合用webApi吗?这个上手难吗?


本质上区别不大,一个返回html/text类型的response,一个返回json/text或者xml/text类型的response,对于api环境而言,apicontroller更智能一点,他可以根据request的类型来自动返回json或者xml两种数据结构,并且提供了model自动序列化的功能。你要用普通controller强行返回json格式的响应,也是可以的,但真的不如apicontroller爽。

要再说有什么不一样,就是默认的路由绑定,apicontroller会有api前缀也就是通过/api/controllerName访问,不过这都可以自己改


参考这个:http://it.zhaozhao.info/archives/35178


唯一的区别:web api 的 Controller 继承了ApiController。

【热门文章】
【热门文章】