溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET Web API怎么用

發布時間:2021-09-17 09:46:22 來源:億速云 閱讀:168 作者:小新 欄目:編程語言

這篇文章主要介紹了ASP.NET Web API怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

概述

REST(Representational State Transfer表述性狀態轉移)而產生的REST API的討論越來越多,微軟在ASP.NET中也添加了Web API的功能。

我們剛好看看Web API的使用,且看目前的版本有沒有解決掉這個問題。

項目建立

在安裝了Visual Studio 2012后,我們依次點擊新建項目->已安裝模板->Web->ASP.NET MVC 4 Web Application新建一個工程項目。

ASP.NET Web API怎么用

項目模板選擇Web API。

ASP.NET Web API怎么用

在Model里面我們還是添加之前文章里面使用的User類。

ASP.NET Web API怎么用

1 namespace WebAPI.Models
2 {
3     public class Users
4     {
5         public int UserID { get; set; }
6
7         public string UserName { get; set; }
8
9         public string UserEmail { get; set; }
10     }
11 }

ASP.NET Web API怎么用

將自動生成的ValueController修改成UsersController。

GET數據

使用HTTP的get方法請求獲取數據,整個Web API的請求處理基于MVC框架。

代碼如下。

ASP.NET Web API怎么用

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Net;
5 using System.Net.Http;
6 using System.Web.Http;
7 using WebAPI.Models;
8
9 namespace WebAPI.Controllers
10 {
11     public class UsersController : ApiController
12     {
13         /// <summary>
14         /// User Data List
15         /// </summary>
16         private readonly List<Users> _userList = new List<Users>
17         {
18             new Users {UserID = 1, UserName = "Superman", UserEmail = "Superman@cnblogs.com"},
19             new Users {UserID = 2, UserName = "Spiderman", UserEmail = "Spiderman@cnblogs.com"},
20             new Users {UserID = 3, UserName = "Batman", UserEmail = "Batman@cnblogs.com"}
21         };
22
23         // GET api/Users
24         public IEnumerable<Users> Get()
25         {
26             return _userList;
27         }
28
29         // GET api/Users/5
30         public Users GetUserByID(int id)
31         {
32             var user = _userList.FirstOrDefault(users => users.UserID == id);
33             if (user == null)
34             {
35                 throw new HttpResponseException(HttpStatusCode.NotFound);
36             }
37             return user;
38         }
39
40         //GET api/Users/?username=xx
41         public IEnumerable<Users> GetUserByName(string userName)
42         {
43             return _userList.Where(p => string.Equals(p.UserName, userName, StringComparison.OrdinalIgnoreCase));
44         }
45     }
46 }

ASP.NET Web API怎么用

構造了一個user list,實現了三個方法,我們下面來做請求。

使用不同的瀏覽器請求的過程中會發現返回的格式不一樣。

先使用Chrome請求,我們發現HTTP Header里面的Content-Type是xml類型。

ASP.NET Web API怎么用

我們再換FireFox請求,發現Content-Type還是xml類型。

ASP.NET Web API怎么用

我們再使用IE請求,發現是這樣。

ASP.NET Web API怎么用

打開保存后的文件,我們發現請求到的數據是JSON格式。

ASP.NET Web API怎么用

造成這樣的差異的原因是:不同的瀏覽器發送的Request Header里面的Content-Type不一致造成的。

我們可以使用Fiddler驗證一下。

Content-Type:text/json

ASP.NET Web API怎么用

ASP.NET Web API怎么用

Content-Type:text/xml

ASP.NET Web API怎么用

ASP.NET Web API怎么用

POST數據

實現一個User添加的功能,接受的類型為User實體,而我們POST的數據為對應的JSON數據,看看dudu在Beta版本的遇到的問題有沒有解決。

ASP.NET Web API怎么用

1 //POST api/Users/Users Entity Json
2 public Users Add([FromBody]Users users)
3 {
4     if (users == null)
5     {
6         throw new HttpRequestException();
7     }
8     _userList.Add(users);
9     return users;
10 }

ASP.NET Web API怎么用

我們還是使用Fiddler進行模擬POST數據。

在POST請求前,我們先將代碼附加到進程里面,并在Add方法處設置斷點。

在Visual Studio 2012中,debug HOST的程序變成了IIS Express。

ASP.NET Web API怎么用

我們使用Ctrl+ALT+P,附加到它的進程里面。

ASP.NET Web API怎么用

下面使用Fiddler進行模擬POST。

注意在Request Header里面的Content-Type為text/json,POST的json內容為:

1 {"UserID":4,"UserName":"Parry","UserEmail":Parry@cnblogs.com}

ASP.NET Web API怎么用

點擊Execute后,跳到了我們前面設置的斷點處,我們看看提交過來的數據。

ASP.NET Web API怎么用

這樣dudu在Beta里面遇到的問題已解。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ASP.NET Web API怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女