Web APi入門之基本操作(一)

来源:http://www.cnblogs.com/zuqing/archive/2016/05/05/5463320.html
-Advertisement-
Play Games

最近學習了下WebApi,WebApi是RESTful風格,根據請求方式決定操作。以博客的形式寫出來,加深印象以及方便以後查看和複習。 1、首先我們使用VS創建一個空的WebApi項目 2、新建實體以及控制器類 3、新建html頁面使用ajax操作 4、通過開發人員工具可以看到如下 WebApi預設 ...


最近學習了下WebApi,WebApi是RESTful風格,根據請求方式決定操作。以博客的形式寫出來,加深印象以及方便以後查看和複習。

1、首先我們使用VS創建一個空的WebApi項目

2、新建實體以及控制器類

1     public class Product
2     {
3         public int Id { set; get; }
4         public string Name { set; get; }
5         public string Description { set; get; }
6     }
 1     public class HomeController : ApiController
 2     {
 3         static List<Product> modelList = new List<Product>()
 4         {
 5             new Product(){Id=1,Name="電腦",Description="電器"},
 6             new Product(){Id=2,Name="冰箱",Description="電器"},
 7         };
 8 
 9         //獲取所有數據
10         [HttpGet]
11         public List<Product> GetAll()
12         {
13             return modelList;
14         }
15 
16         //獲取一條數據
17         [HttpGet]
18         public Product GetOne(int id)
19         {
20             return modelList.FirstOrDefault(p => p.Id == id);
21         }
22 
23         //新增
24         [HttpPost]
25         public bool PostNew(Product model)
26         {
27             modelList.Add(model);
28             return true;
29         }
30 
31         //刪除
32         [HttpDelete]
33         public bool Delete(int id)
34         {
35             return modelList.Remove(modelList.Find(p => p.Id == id));
36         }
37 
38         //更新
39         [HttpPut]
40         public bool PutOne(Product model)
41         {
42             Product editModel = modelList.Find(p => p.Id == model.Id);
43             editModel.Name = model.Name;
44             editModel.Description = model.Description;
45             return true;
46         }
47     }

3、新建html頁面使用ajax操作

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>Demo</title>
 6     <script src="/Scripts/jquery-1.10.2.js"></script>
 7     <script type="text/javascript">
 8         $(function () {
 9             add();
10             update();
11             find();
12             remove();
13             getAll();
14         });
15         function getAll() {
16             $.ajax({
17                 url: "api/Home/",
18                 type: 'GET',
19                 success: function (data) {
20                     console.log(data);
21                 }
22             });
23         }
24 
25         function find() {
26             $.ajax({
27                 url: "api/Home/1",
28                 type: 'GET',
29                 success: function (data) {
30                     console.log(data);
31                 }
32             });
33         }
34 
35         function add() {
36             $.ajax({
37                 url: "api/Home/",
38                 type: "POST",
39                 data: { "Id": "3", "Name": "電磁爐", "Description": "電器" },
40                 success: function (data) {
41                     console.log(data);
42                 }
43             });
44 
45         }
46 
47         function update() {
48             $.ajax({
49                 url: "api/Home/",
50                 type: 'PUT',
51                 data: { "id": "1", "Name": "洗衣機", "Description": "傢具" },
52                 success: function (data) {
53                     console.log(data);
54                 }
55             });
56         }
57 
58         function remove() {
59             $.ajax({
60                 url: "api/Home/1",
61                 type: 'DELETE',
62                 success: function (data) {
63                     console.log(data);
64                 }
65             });
66         }
67     </script>
68 </head>
69 <body>
70     <h1>WebApi基本操作</h1>
71 </body>
72 </html>

4、通過開發人員工具可以看到如下

WebApi預設是以XML格式返回,但是一般我們需要返回Json,通過在Global.asax里的Application_Start方法中加上如下代碼可以移除XML,讓其只返回Json

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先,Linux下沒有分區,只有掛載點,掛載點就類似於Window下的分區。 規劃掛載點及其大小之前先要瞭解以下主要目錄的作用: / (根目錄) 必須有的一個掛載點!如果只想分一個掛載點,那就是“/”了。這個掛載點理論上5G就夠安裝系統的,不過要想日常使用的話,建議還是分10~20G吧。 Swap ...
  • 本文主要包括兩部分,一是Linux基礎命令的總結;二是總結一些常用的命令知識點。 一、基礎總結 之前學習Linux的時候用思維導圖做了歸納總結了基礎部分的一些常用命令,用思維導圖一以歸檔記憶,一以不斷總結完善。 主要包括文件處理、許可權管理、文件搜索、幫助命令、用戶管理、壓縮解壓、網路配置、關機重啟。 ...
  • 編譯C源代碼: 前提:提供開發工具及開發環境 通過“包組”提供開發組件,CentOS 6: "Development Tools", "Server Platform Development" 第一步 configure腳本: 選項:指定安裝位置、指定啟用的特性 --help: 獲取其支持使用的選項 ...
  • http://www.freeboygirl.com/running-orchard2-cms-on-core-rc2-net ...
  • I have known Core Dump for a long time. But I just know it little. Now, I am about to study it. ...
  • Entity Framework Plus 系列文章計劃的已經全部寫完,可能還有其他功能沒有寫到,希望大家能夠多動手,嘗試一下使用,一定會給您帶來一些幫助的。文章全部寫完,也應該出一個目錄方便查看,目錄如下 第一篇 Entity Framework Plus 之 Audit 第二篇 Entity F ...
  • WPFINotifyPropertyChanged使用技巧 public class NotifyPropertyChanged : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; ...
  • 我們線上程編程的時候往往會涉及到線程的通信,通過信號的接受來進行線程是否阻塞的操作。 AutoResetEvent 允許線程通過發信號互相通信。通常,此通信涉及線程需要獨占訪問的資源。 AutoResetEvent 的方法有很多,具體方法和擴展方法請詳見AutoResetEvent類,最常用方法中就 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...