【WEB API項目實戰干貨系列】- WEB API入門(一)

這篇做為這個系列的第一篇,做基本的介紹,有經驗的人可以直接跳到第二部分創建 ProductController。

?

創建 Web API 項目

在這里我們使用VS2013, .NET 4.5.1創建一個Web API 2的項目

image

選擇項目WEB API模板, 在最下方的MVC主要是默認會自帶微軟的API Helper, 使用MVC發布

image

在這里不實用安全

image

?

這樣我們一個項目就初始化好了, 這都要歸功于微軟強大的VS

image

?

F5啟動項目之后, 點擊界面上API按鈕可以看到默認創建的API

image

?

這時就可以用上面的地址通過一些測試工具來測試了. 這里推薦使用fiddler, 后面我們也將廣泛使用這款工具來做調試.

?

創建我們自己的API-Products API

相關操作步驟如下

添加ProductController

image

image

image

image

?

在這里我們設計產品相關的API URL如下, 雖然這個不完全符合RESTFul標準,如有糾結的人直接忽略, 這里主要介紹如何把我們的URL定制成下面這個樣子(也是我們項目中的樣子):

當然這里的API URL還有其他寫法,這個有興趣的后面章節可以再討論。

我們的 Product API簡單的設計為下面格式:

添加獲取產品分頁API: api/products/product/getList?
添加獲取單個產品API: api/products/product/get?productId=產品ID?
添加產品新增API: api/products/product/add?productId=產品ID?
添加產品更新API: api/products/product/update?productId=產品ID?
添加產品刪除API: api/products/product/delete?productId=產品ID

在這里我們在剛才新添加的ProductController里中實現上面的API

復制代碼
[RoutePrefix("api/products")]public class ProductController : ApiController{[HttpGet, Route("product/getList")]public Page<Product> GetProductList(){throw new NotImplementedException();}[HttpGet, Route("product/get")]public Product GetProduct(Guid productId){throw new NotImplementedException();}[HttpPost, Route("product/add")]public Guid AddProduct(Product product){throw new NotImplementedException();}[HttpPost, Route("product/update")]public void UpdateProduct(Guid productId, Product product){throw new NotImplementedException();}[HttpDelete, Route("product/delete")]public void DeleteProduct(Guid productId){throw new NotImplementedException();}}
復制代碼

添加之后啟動程序,看到的結果如下

image



到這里大家加上自己的后端業務邏輯,完成業務層面的操作就可以發布使用了。

文章轉載來自:http://www.cnblogs.com/Flyear/p/4870373.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286507.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286507.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286507.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

父元素 高度固定,如何使其中的文字垂直居中?

方法一&#xff1a; 設置父元素高度&#xff0c;設置子元素行高垂直居中 <style> *{padding: 0;margin:0;font-size: 12px;} div{float: left;width: 200px;height:200px;margin: 10px;border:1px solid blue; line-height: 200px;} span{display: inline-block;verti…

Android之打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去

1 需求 打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去 2 效果爆照如下 打開這個DialogFragment 3 關鍵代碼實現 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)…

驅動介紹

關于驅動驅動&#xff08;也稱連接器&#xff09;是對傳統的數據采集程序的標準化&#xff0c;驅動可以作為你的資產進行管理系統為每個設備創建一個驅動實例通過反射創建驅動實例驅動不可以是靜態的驅動要繼承IDriver接口驅動內需要通過web配置的屬性(支持枚舉等基本類型),上要…

【iVX 初級工程師培訓教程 10篇文拿證】06 數據庫及服務

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

memcached安裝和php擴展memcache安裝

1.準備安裝包: libevent-2.1.8-stable.tar.gz memcached-1.5.0.tar.gz memcache-2.2.7.tgz 2.安裝libevent tar xf /opt/libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable mkdir /usr/local/libevent ./configure --prefix/usr/local/libevent make && make …

J2EE開發技術點4:ajax技術

前言 AJAX 是在不重新加載整個頁面的情況下&#xff0c;與服務器交換數據并更新部分網頁的技術。需要知道的是&#xff0c;Ajax技術并不是一項新的技術&#xff0c;而是使用現有技術解決問題的新方法。Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;也叫異步Jav…

【WEB API項目實戰干貨系列】- 接口文檔與在線測試(二)

這一篇我們主要介紹如何做API幫助文檔&#xff0c;給API的調用人員介紹各個 API的功能, 輸入參數&#xff0c;輸出參數, 以及在線測試 API功能(這個也是方便我們自己開發調試) 我們先來看看我們的API最終幫助文檔及在線測試最終達到的效果: 概要圖GET API添加產品API:刪除產品 …

IOS多線程

http://www.jianshu.com/p/0b0d9b1f1f19 首頁專題下載手機應用顯示模式登錄注冊登錄添加關注作者 伯恩的遺產 2015.07.29 00:37* 寫了35249字&#xff0c;被2296人關注&#xff0c;獲得了1668個喜歡關于iOS多線程&#xff0c;你看我就夠了 字數8596 閱讀92152 評論153 喜歡905在…

Android之提示Failed to load WebView provider: No WebView installed

1 問題 Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installedat android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:435)at a…

地理(GIS)教學神器:氣象地球生成器

地理教學中&#xff0c;不管是高中還是初中&#xff0c;都會涉及到大氣運動的相關教學&#xff0c;并且&#xff0c;高中階段的大氣運動知識對很多學生來說相對比較復雜&#xff0c;如&#xff1a; &#xff08;三圈環流&#xff09; &#xff08;青藏高原對西風帶的影響&#…

使用 Yarp 做網關

資料GitHub: https://github.com/microsoft/reverse-proxyYARP 文檔&#xff1a;https://microsoft.github.io/reverse-proxy/articles/getting-started.html主動和被動健康檢查 &#xff1a; https://microsoft.github.io/reverse-proxy/articles/dests-health-checks.html#ac…

Android之OkDownload里面的OKHttp提示java.lang.IllegalArgumentException: Invalid URL port: “image“

1 、問題 release版本線上奔潰如下 Fatal Exception: java.lang.IllegalArgumentException: Invalid URL port: "image"at okhttp3.t$a.a(HttpUrl.kt:63)at okhttp3.t$b.b(HttpUrl.kt:8)at okhttp3.y$a.b(Request.kt:5)at com.liulishuo.okdownload.j.e.b.<init…

【iVX 初級工程師培訓教程 10篇文拿證】05 畫布及飛機大戰游戲制作

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

【WEB API項目實戰干貨系列】- API登錄與身份驗證(三)

這篇我們主要來介紹我們如何在API項目中完成API的登錄及身份認證. 所以這篇會分為兩部分, 登錄API&#xff0c; API身份驗證. 這一篇的主要原理是&#xff1a; API會提供一個單獨的登錄API, 通過用戶名&#xff0c;密碼來產生一個SessionKey, SessionKey具有過期時間的特點, 系…

mysql數據庫建立的數據庫在哪個文件夾?

為什么80%的碼農都做不了架構師&#xff1f;>>> 一般在安裝目錄下的data文件夾下&#xff0c;或者在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data&#xff08;你的可能是C:\Documents and Settings\All Users\Application D…

python 學習筆記01

python學習過程遇到一些問題記錄&#xff1a; 1、 IndentationError:expected an indented block錯誤的解決辦法 一句話 有冒號的下一行往往要縮進&#xff0c;該縮進就縮進 參考資料&#xff1a;http://blog.csdn.net/hongkangwl/article/details/16344749 2、17個新手常見Pyt…

ArcGIS實驗教程——實驗二十四:人口密度制圖

ArcGIS實驗視頻教程合集:《ArcGIS實驗教程從入門到精通》(附配套實驗數據)》 一、實驗分析 人口密度是指單位土地面積上居住的人口數,通常以每平方千米或每公頃內的常住人口為單位計算。人口密度同資源、經濟密切結合,因此,科學準確地分析人口密度的分布情況,對合理制定…

Navicat 遠程連接ubuntu出現的問題

2003-Cantt connect to Mysql server to xxxxxxx 解決&#xff1a; vim /etc/mysql/my.cnf 修改bind-address 0.0.0.0 然后重啟mysql&#xff1a; 這時進入mysql可能會報錯&#xff1a; ERROR 2002 (HY000): Cant connect to local MySQL server through socket /v…

WPF效果第一百八十八篇之再玩Expander

大端午節的在屋里吹著空調擼著代碼真是酸爽;閑話也不多扯,直接看今天要分享的效果:1、關于簡單的布局設計:2、前臺先來個死布局,回頭ListBox改模板:<Expander ExpandDirection"Left" Header"控制卡" VerticalAlignment"Bottom" HorizontalAli…

Android之實現長按Webview頁面文字自定義復制、全選、分享、搜索、翻譯功能(支持多語言,博文也有Demo下載地址)

1 需求和效果爆照 瀏覽器app封裝了Webview,然后實現實現長按Webview頁面文字自定義復制、全選、分享、搜索、翻譯功能(支持多語言),都在自己的瀏覽器app里面進行搜索和翻譯,不跳到系統瀏覽器里面去 效果爆照如下,oppo手機效果如下 華為手機效果如下 2 Demo下載地址 De…