[Asp.Net] MVC 和Web API 的區別

來源:互聯網
上載者:User

標籤:

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傳入才能接收。

 

[Asp.Net] MVC 和Web API 的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.