webapi使用教程

webapi使用教程

一、相關概念和簡單API的使用

1。 什麼是ASP。NET-WebAPI?

ASP。NET Web API 是一種框架,用於輕鬆構建可以訪問多種客戶端(包括瀏覽器和移動裝置)的 HTTP 服務。 ASP。NET Web API 是一種用於在 。NET Framework 上構建 RESTful 應用程式的理想平臺。

2。 關於RESTful的理解

REST是英文representational state transfer(表象性狀態轉變)或者表述性狀態轉移; Rest是web服務的一種架構風格; 使用HTTP,URI,XML,JSON,HTML等廣泛流行的標準和協議; 輕量級,跨平臺,跨語言的架構設計; 它是一種設計風格,不是一種標準,是一種思想。

2。1 Rest架構的主要原則:

事務為物件,資源有統一,形式有多樣(xml、json等) 每個資源都有一個唯一的資源識別符號。 同一個資源具有多種表現形式(xml,json等)。 對資源的各種操作不會改變資源識別符號。 所有的操作都是無狀態的。 符合REST原則的架構方式即可稱為RESTful。

####2。2 為什麼會出現restful?

在Restful之前我們寫一個web請求,格式通常是這樣的:

http://192。168。1。100/product/query/1 根據使用者id查詢商品

http://192。168。1。100/product/Add 新增商品

http://192。168。1。100/product/update 修改商品

http://192。168。1。100/product/delete 刪除商品

Restful用法:

http://192。168。1。100/product/1 GET 根據使用者id查詢商品

http://192。168。1。100/product/ POST 新增商品

http://192。168。1。100/product/ PUT 修改商品

http://192。168。1。100/product/ DELETE 刪除商品

restful風格其實就是根據請求的型別(get、post、put、delete)來匹配對應的方法。

3。 WebAPI2的基本使用與路由

3。1 為什麼要使用WebAPI的特性路由?

在實際開發中,http請求的方法可能是相同的(比如都是post請求),而且請求的引數也相同。這個問題就麻煩。因為遵照Restful風格無法解決。大家可能想到自定義一個路由,比如增加action,可以,但是在webAPI裡面是不提倡的。

3。2 解決方法

首先,我們啟動特性路由。 就可以使用特性路由。

3。3 Post請求的規範

【1】 無引數的POSt請求

和Get方式請求相同。只不過在客戶端$。get和$。post區別。同時只需要新增[httpPost]標記特性即可。

【2】 一個引數的POST請求

和Get方式不一樣,動作方法引數上面必須新增[FromBody]標記,否則訪問不到!同時WebAPI請求傳遞的引數,也有特定的格式。而這種格式並不是我們常見的key-value格式。WebAPI模型繫結器尋找的時候,並是按照key去查詢。而且空字串。