學習篇一:Web API
第一章:初識
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.
參照網址:
在Web Api中強制使用Https
1.1 入門例項
1.1.1 建立MVC專案,HelloWebAPI
1.1.2 新增一個Model,product.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace HelloWebAPI.Models
{
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
}
1.1.3 新增一個controller
using HelloWebAPI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
namespace HelloWebAPI.Controllers
{
public class ProductsController : ApiController
{
//
// GET: /Products/
Product[] products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> GetAllProducts()
{
return products;
}
public Product GetProductById(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return product;
}
public IEnumerable<Product> GetProductsByCategory(string category)
{
return products.Where(
(p) => string.Equals(p.Category, category,
StringComparison.OrdinalIgnoreCase));
}
}
}
1.2 知識點整理
1.2.1 如何修改請求方式
我們可以看到在Action 中沒有使用[HttpGet]、[HttpPost] 等修飾,那究竟它是如何運作的呢?
Action 皆以HTTP 動詞開頭Get、Post、Put、Delete ,這個也是剛好符合 webapi的約定的。
你呼叫什麼型別的方法 ,例如 post 方法,那麼他就去 你的所有的 action 裡面 去找 以 post 開頭的方法 ,名字可以隨便叫,例如 postToDataBase 等等,只要開頭匹配 就可以了
例如:在上面的例子中:
public IEnumerable<Product> GetAllProducts()
{
return products;
}
當改成PostAllProducts時,則以Post的請求方式。
方法名雖然帶Get,Post,但是在請求的的時候並不用加上。
有幾種標準的請求,如get,post,put,delete等,它們分別對應的幾個操作,下面講一下:
- GET:生到資料列表(預設),或者得到一條實體資料
- POST:新增服務端新增一條記錄,記錄實體為Form物件
- PUT:新增或修改服務端的一條記錄,記錄實體的Form物件,記錄主鍵以GET方式進行傳輸
- DELETE:刪除 服務端的一條記錄
1.2.2 如何傳遞引數?
在方法裡直接新增引數,然後執行那程式,可以看到:
當然這裡的1,2並沒有實際意義。再看看傳遞一個實體看看:
原來的檔案:(由於裡面存在一些不必要的東西,試試刪除一些,簡化一點)
修改後的檔案結構:(不喜歡啟動時什麼都沒有,新增了一個index.html,修改下路由配置)
啟動:
資料介面暫時告一段落,然後接下來學習EF 的code first的學習……
相關文章
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- 009 Web Assembly學習結束篇Web
- Java API學習筆記(一)JavaAPI筆記
- Nodejs API 學習系列(一)NodeJSAPI
- Spring Boot學習3:web篇(中)-Spring boot Rest學習Spring BootWebREST
- ASP.NET Web API與Rest web api(一)ASP.NETWebAPIREST
- Laravel restful API 學習記錄一LaravelRESTAPI
- 飛機的 PHP 學習筆記之 Web 篇PHP筆記Web
- Spring Boot學習4:web篇(下)-Spring boot (Servlet,Jsp)學習Spring BootWebServletJS
- EJB學習(一)——EJB和WEB打包Web
- canvas學習之API整理筆記(一)CanvasAPI筆記
- JavaScript 學習初篇(第一課)JavaScript
- bootstrap基礎學習一篇boot
- 【強化學習篇】--強化學習案例詳解一強化學習
- Web Audio API 第1章 基礎篇WebAPI
- 【WEB API專案實戰乾貨系列】- WEB API入門(一)WebAPI
- JAVA核心API學習JavaAPI
- Elasticsearch學習,請先看這一篇!Elasticsearch
- MongDB學習筆記(一) 初遇篇筆記
- vue學習筆記【基礎篇一】Vue筆記
- 用Web API Client 呼叫 Web APIWebAPIclient
- sass學習篇
- Web前端如何學?Web前端學習方法分享Web前端
- Win32除錯API學習心得(一) (轉)Win32除錯API
- RESTFul Web Api 服務框架(一)RESTWebAPI框架
- 一個web前端開發者學習Flutter 的歷程(一)Web前端Flutter
- 深圳Web前端學習:分享一份Web前端面試題Web前端面試題
- web前端學習——零基礎web前端學習路線Web前端
- 學習JDBC這一篇就夠了JDBC
- 深入學習Netty(一)NIO基礎篇Netty
- 學習MySQL這一篇就夠了MySql
- 前端學習 linux —— 第一篇前端Linux
- HTTP Client 學習筆記 (一) 初遇篇HTTPclient筆記
- 學習Jmeter,這一篇就夠了JMeter
- 學習git這一篇就夠了!!!Git
- Python學習筆記(進階篇一)Python筆記
- 第一篇 Laravel 學習部落格Laravel
- 學習筆記|AS入門(一) 環境篇筆記