ASP.NET Web API 教程2024 年 11 月 14 日 | 11 分钟阅读 ![]() 在本教程中,我们将讨论以下主题
ASP.NET Web API 教程提供了 ASP.NET 的基本和高级概念。我们的 ASP.NET 教程专为初学者和专业人士设计。 什么是 Web API?
1) 客户端脚本: JavaScript、HTML 和其他客户端脚本语言用于设计 Web 表单,以向用户呈现信息。 2) 服务器端脚本: ASP 和其他服务器端脚本语言用于执行业务逻辑和数据库相关操作,如存储和检索信息。
谁使用 API?这些服务可以被不同类型的用户访问,例如
ASP.NET Web APIAPI 代表应用程序编程接口。 "ASP.NET Web API 是一个可扩展的框架,用于构建 HTTP(超文本传输协议)服务,这些服务可以从任何客户端(如浏览器和移动设备)访问。" 例如,我们从不同的 Web 应用程序(如 MakeMyTrip、Ixigo 或 Paytm 和所有其他预订 Web 应用程序)进行预订,但所有应用程序都使用 IRCTC 网站的凭据进行预订,即用户执行预订必须具有 IRCTC 网站的登录凭据。 这些服务可以被不同类型的用户访问,例如
当应用程序要在分布式系统上使用时,可以使用 Web API 服务。 Web API 从不同类型的客户端设备(如移动设备、笔记本电脑等)获取请求,并将它们发送到 Web 服务器进行处理,并将所需的数据返回给客户端。 ![]() 使用不同类型 API 的自定义 Web 应用程序 Web API 是系统-系统交互,其中来自一个系统的信息由另一个系统处理,并将结果数据显示给查看者。 让我们从 Web API 示例中再举一个例子,我们想要麦当劳的汉堡。 让我们假设麦当劳只允许厨师外卖,而不允许其他人。这里 McDonalds-Takeaways(厨师)就像一个 API,它允许其他系统(厨师)访问服务并提供所需的数据。 ASP.NET Web API 的特性1) ASP.NET Web API 与 ASP.NET MVC 非常相似。 2) 它包含与 ASP.NET MVC 类似的特性,例如
3) 存在一种误解,即 ASP.NET Web API 是 ASP.NET MVC 框架的一部分,但它可以与任何其他类型的 Web 应用程序一起使用。 4) 可以使用 Web API 开发独立的 Web 服务。 5) ASP.NET Web API 框架被广泛用于开发 RESTful 服务。 RESTful 服务
当我们使用基于 HTTP 的服务时,例如 BookMyShow 应用程序,我们需要以托管形式(如 JSON 格式、XML 格式)获取数据。 客户端通过使用 API 方法发送参数来请求信息。 ![]() 例如,如果我们想预订一场演出,我们想知道城市、电影名称、地点、时间等详细信息。我们将把对象的状态发送到 Web 服务器,API 将检查数据是否可用。 如果数据可用(该实例可以获得该电影),则它将向客户端发送带有对象的响应。 将对象的值发送给客户端,即基本上是对象的状态发送给客户端,因此每次您不必创建对象。 "REST API 是一种架构风格,也是一种用于通信目的的方法,通常用于各种 Web 开发。" 它是一个无状态的客户端-服务器模型。 ![]() REST API 的原则REST API 的六个原则是
1) 无状态:当来自客户端的请求被发送到服务器时,它包含处理服务器所需的所有信息。 请求可能是 QueryString 或 URL 的一部分。 例如,假设资源是从 URL(统一资源定位符)请求的。 ![]() 2) 客户端-服务器:分离功能有助于提高跨多个平台的用户界面可移植性,并扩展服务器组件的可伸缩性。 3) 统一接口:为了在整个应用程序中获得统一性,REST 定义了四个接口约束,它们是
4) 可缓存:为了提供更好的性能,应用程序是可缓存的。 这是通过隐式或显式地将响应标记为可缓存或不可缓存来实现的。 如果资源被定义为可缓存的,则客户端缓存可以为等效请求重用响应数据。 5) 分层系统:分层系统允许应用程序通过限制组件行为来保持最稳定。 分层架构还有助于增强安全性,因为每一层的组件无法与其所在的每一层之外进行交互。 6) 按需代码:可选且最少使用的约束。 通过创建不依赖于自身代码结构的智能应用程序来分析和简化客户端。 REST API 的方法
现在,基本的 CRUD 操作以以下方式映射到 HTTP 协议
所以让我们举一个从资源中获取一些菜肴的例子 www.testwebsite.com/dishes 现在,让我们假设我们想从资源中获取一些特定的菜肴 www.testwebsite.com/dishes/2 实现 REST API 简单应用程序让我们为学生创建一个 REST API 服务。
![]()
![]()
![]()
![]() 将 Student.cs 类添加到 Models 文件夹
![]() 添加以下代码以定义学生类的属性 将 StudentControllers.cs 类添加到 Controllers 文件夹
![]() 将打开添加 Scaffold 窗口,然后选择 Web API2 Controller ?Empty 模板。 ![]()
![]() 注意:我们可以看到控制器类继承了 System.Web.Http.ApiController 类而不是 Controller 类。
现在实现方法以执行 CRUD 操作。 让我们假设我们想要所有学生详细信息以及某些特定学生的详细信息。 现在添加以下代码 在 StudentController 类控制器中,您可以看到方法 "GetAllStudents" 返回所有学生的列表,而方法 "GetStudentDetails" 返回单个 student 的详细信息。 在下表中,您可以了解控制器如何使用路由 URL 执行 CRUD 操作。
运行 Web API 要运行 Web API,首先按 F5 或 Ctrl+F5 或单击 IIS express 运行图标,然后浏览器将打开,网址类似于 https://:44329/ 现在要查找所有学生的列表,将 URL 编辑为 https://:44329/api/student ![]() 要获取单个学生的详细信息,将 URL 编辑为 https://:44329/api/student/2 ![]() Web API 的需求
MVC 与 Web APIASP.NET API 和 ASP.NET MVC 之间的区别如下
Web API 与 WCFASP.NET WCF 和 ASP.NET Web API 之间的区别如下
Web API 与 Web ServicesWeb API 和 Web 服务之间的区别如下
Web API 安全性ASP.NET Web API 身份验证和授权是 Web API 安全性的重要概念。 假设创建了一个 Web API,并且对 API 的访问仅限于某些特定用户,并且不同的用户可以使用不同的操作。
如果 Web API 中的请求需要身份验证,但客户端未在请求标头中提供凭据,则服务器将返回 401(未授权)。 前提条件在学习 Web API 之前,用户必须具备 Http 方法、C# 属性的基本知识,并且具有 MVC 的知识将是一个加分项。 目标受众本教程适用于初学者和专业人士,以学习 Web API 和 RESTful 服务。 问题本教程使用简单易懂的语言,如果仍然有任何困惑,请在联系表格中发布疑问。 |
我们请求您订阅我们的新闻通讯以获取最新更新。