ASP.NET Web API 基础 (MVC 4)






4.75/5 (29投票s)
ASP.NET Web API 基础 (MVC 4)
在 之前的文章 中,我们了解了 Web API 的演变过程以及使其成为构建或使用 HTTP 服务最佳框架的特性。
阅读这篇文章时,请记住 Web API 符合 REST 规范,因此通常包含 Get()
、Put()
、Post()
、Delete()
方法。
方法 | URL 结构 |
Get() |
api/Values |
GetItem(int i) |
api/Values/i |
Post (i) |
api/Values/i 使用 Post 方法 |
Delete(i) |
api/Values/i 使用 Delete 方法。 |
在编写大量自定义代码之前,让我们看看默认的脚手架模板为 Web API 接口提供了什么。
步骤 1: 创建一个解决方案和一个 MVC 4 项目。我将其命名为 API_SVC,因为我计划构建一个 HTTP 服务,它可以充当前端 Web 应用程序的业务层。
步骤 2: 选择项目类型后,现在需要选择项目的模板。有几个模板可用。“移动”和“Web API”是我们在 MVC 4 中看到的 2 个新模板。目前,让我们坚持使用带有 Razor 引擎的 Web Api。
步骤 3: 创建应用程序并由脚手架添加基本代码。转到 Controllers,您将看到一个名为“ValuesController”的新控制器。打开文件并查看。您可以找到 5 个名为 Get()
、Get(xxxxx)
、Post(xxxx)
、Put(xxxx)
、Delete(xxxxxx)
的方法。
public class ValuesController : ApiController { // GET api/values public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/values/5 public string Get(int id) { return "value"; } // POST api/values public void Post(string value) { } // PUT api/values/5 public void Put(int id, string value) { } // DELETE api/values/5 public void Delete(int id) { } }
观察每个方法顶部提供的注释。这是使用 api 接口访问该特定方法的方式。
步骤 4:我们需要测试 Web API 服务的每个方法,以便更好地理解。与 GET 不同,从浏览器测试 Post、Put 和 Delete 方法并不容易。为此,我们将使用 “Fiddler 工具”。
步骤 5:下载 Fiddler 2 并安装它。打开它。它看起来像这样。
步骤 6: 让我们修改这些方法以获得更好的测试数据。修改后,API 服务将如下所示。
public class ValuesController : ApiController { private List<string> list = new List<string>{"Item1","Item2","Item3","Item4","Item5"}; // GET api/values public IEnumerable GetList() { return list; } // GET api/values/5 public string GetItem(int id) { return list.Find(i => i.ToString().Contains(id.ToString())); } // POST api/values public List Post(string value) { list.Add(value); return list; } // PUT api/values/5 public void Put(int id, string value) { } // DELETE api/values/5 public List<string> DeleteItem(int id) { list.Remove(list.Find((i => i.ToString().Contains(id.ToString())))); return list; } }
简单的修改。
GetList()
- 获取列表中的所有项目。GetItem(i)
- 获取列表中包含整数“i”的项目。Post(str)
- 将 str 添加到列表,并显示完整的列表以演示结果。Delete(i)
- 将删除列表中包含整数 i 的项目,并显示完整的列表以演示结果。
步骤 7: 我将我的 API 服务托管在“https://:8080/API_SVC/”。因此,如果我需要访问 #1 方法,请打开 fiddler,转到“Composer”选项卡并输入 url“https://:8080/API_SVC/api/Values”。将方法选择为“GET”。
操作
结果
步骤 8: 现在输入 url“https://:8080/API_SVC/api/Values/1”并选择 GET 以访问顶部的 #2 方法。
操作
结果
步骤 9: 现在输入 url“https://:8080/API_SVC/api/Values”并选择 POST 以访问顶部的 #3 方法。
步骤 10: 输入“https://:8080/API_SVC/api/Values/1”并选择 DELETE 以访问 #4 方法。
操作
结果
通过这些步骤,我们已经涵盖了 ASP.NET Web API 的基础知识以及执行其各种方法的过程。
下一篇文章我们将看到实现/使用自定义 Web API 服务。
对您有帮助吗?请告知您的评论/问题。