[Asp.Net] MVC 和Web API 的区别

Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同

前台使用ajax的方式向后台发起post的请求 Content-Type:application/json

使用以下json对象

{
    "user":
    {
        "Username":"xxx",
        "Password":"xxxx"
    }
}
  {
        "Username":"xxx",
        "Password":"xxx"
    }
        public string Login(User user)
        {
            try
            {
                Sign.Login(user);
            }
            catch (LoginException e)
            {
                return e.Message;
            }
            //保存登陆状态
            FormsAuthentication.SetAuthCookie(user.Username, true);
            return "success";
        }

在mvc中可以使用这两种格式的json均能获取到的user的username,password,

而在webapi中使用第一种获取到user的username,password为null,第二种可以获取到user的username,password。

在mvc中

        public ActionResult Test(int a, int b, int c)
        {
            return View();
        }

这个aciton可以传一个这样的json

{
  "a":1,
  "b":2,
  "c":3
}

而在webapi中使用这种参数,会提示找不到配置的action,或许webapi在除了路由中定义的id(使用url参数传入)之外,只能定义引用类型的参数,并通过

  {
        "Username":"xxx",
        "Password":"xxx"
    }

这种格式的json传入才能接收。

时间: 2024-11-09 16:26:33

[Asp.Net] MVC 和Web API 的区别的相关文章

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/ 上一篇文章介绍了如何使用基本的http认证来实现asp.net web api的跨平台安全认证. 这里说明一个如何使用oauth实现的认证.oauth大家可能不陌生.那么这里需要注意的是我们使用的是.net平台一个比较好的开源oauth库. DOTNETOPENAUTH. 就像上图所示,我们需要一个ISSSUE Server来给我们一个token

ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深入的了解,每个工程里应该写什么样的代码,代码如何组织以及ABP是如何在工程中发挥作用的. 源文档地址:https://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram 源码可以

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案 (精髓)

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说起.问题大概有以下几点: 1.项目层的文件夹结构 2.解决MVC的Controller和Web API的Controller类名不能相同的问题 3.给MVC不同命名空间的Area的注册不同的路由 4.让Web API路由配置也支持命名空间参数 5.MVC及Web API添加身份验证及错误处理的过滤器

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说起.问题大概有以下几点: 1.项目层的文件夹结构 2.解决MVC的Controller和Web API的Controller类名不能相同的问题 3.给MVC不同命名空间的Area的注册不同的路由 4.让Web API路由配置也支持命名空间参数 5.MVC及Web API添加身份验证及错误处理的过滤器

Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案 [转]

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说起.问题大概有以下几点: 1.项目层的文件夹结构 2.解决MVC的Controller和Web API的Controller类名不能相同的问题 3.给MVC不同命名空间的Area的注册不同的路由 4.让Web API路由配置也支持命名空间参数 5.MVC及Web API添加身份验证及错误处理的过滤器

转-Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案

前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说起.问题大概有以下几点: 1.项目层的文件夹结构 2.解决MVC的Controller和Web API的Controller类名不能相同的问题 3.给MVC不同命名空间的Area的注册不同的路由 4.让Web API路由配置也支持命名空间参数 5.MVC及Web API添加身份验证及错误处理的过滤器

[Angularjs]asp.net mvc+angularjs+web api单页应用

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 写在前面 最近的工作一直在弄一些h5的单页应用,然后嵌入到app的webview中.之前一直在用angularjs+html+ashx的一套东西.实在是玩腻了.然后就尝试通过asp.net mvc的方式构建单页应用.用到的技术angularjs

ASP.NET MVC的Web Api的实练

学习ASP.NET MVC一年多来,现在该学学Web Api了.API与ASP.NET MVC的Controller差不多.前者只是返回数据序列化和发送给客户端: 后者返回View或Render View. 当你在专案中创建第一个Web Api时,它会自动产生一个文档和修改了web.config.如我们先在专案下添加一个Apis目录,是用来存放api控制器的.创建完成之后,它会显示一个txt文档: 这个readme.txt是告诉你需要修改Globel.asax文档,步骤为1,2,3: 其实它还自

MVC和Web API的区别

最近几次面试时碰到过面试官提问这个问题.我一开始觉得这两个根本没有可比性,其中有一位面试官说,有不同啊,比如继承的基类不同,webapi继承的事APIController,等等. 今天我就总结一下,其中很多是从网上摘抄下来的,权作为备忘. 解决的问题不同:Web API更倾向于基于HTTP协议的服务,直接返回用户的数据请求.MVC是建站的一种框架,倾向于返回用户的页面请求. 用途:Web API主要用于提供接口,主要用于为手机端提供接口 Asp.net MVC 是用来创建返回视图(Views)与