地址:https://blog.csdn.net/zhoukun1008/article/details/52702007。web
WebApi怎麼用?json
一、 打開VS2012,新建------>項目api
選擇Visual C# Web 下面的 VisualStudio 2012 ,在右邊選擇ASP.NET MVC 4 Web應用程序,更更名稱後,點擊肯定。瀏覽器
緊接着來到下一個頁面,選擇 WebApi,視圖引擎用Razor就行,點擊肯定。工具
接着,出現了一個應用程序。測試
咱們在Models中添加一個類,命名Product,代碼以下,建立過程截圖省略。spa
namespace WebApi1.Models
{
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
}.net
而後右擊Controller文件夾,添加控制器插件
在彈出的畫面中,給控制器重命名,WebApiController,而後在模板中選擇空Api控制器blog
此控制器生成後,與Mvc控制器不一樣的是,此控制器繼承一個APIController,咱們在此控制器中添加相應的代碼。
public class WebApiController : ApiController
{
Product[] products = new Product[]
{
new Product { Id = 1, Name = "農夫山泉", Category = "water", Price = 2 },
new Product { Id = 2, Name = "鋼筆", Category = "study", Price = 3.75M },
new Product { Id = 3, Name = "烤腸", Category = "food", Price = 1 },
new Product { Id = 4, Name = "嶗山礦泉水", Category = "water", Price = 2 },
new Product { Id = 5, Name = "鉛筆", Category = "study", Price = 3.75M },
new Product { Id = 6, Name = "烤羊肉串", Category = "food", Price = 1 }
};
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));
}
}
生成解決方案後,咱們用IE啓動它。接近着,出現下面這個畫面。
該首頁是一個ASP.NET MVC視圖,它是由HomeControllers類返回的。就這樣,咱們就能夠訪問此Api了,我這裏用的是Postman藉口測試工具測試的,Postman是谷歌瀏覽器的一個藉口測試插件,你們能夠安裝。我分別訪問了三個接口地址。注意,端口號是隨機生成的。
http://localhost:5537/api/webapi/地址:這個地址是獲得全部的Products 。效果圖以下所示。
http://localhost:5537/api/webapi/1 根據id來訪問商品,截圖以下
http://localhost:5537/api/webapi?category=water 根據種類訪問接口,返回結果以下
咱們還能夠用IE瀏覽器直接訪問此接口,可是返回來得是一個webapi.json文件,咱們能夠選擇打開它。截圖以下