ASP.NET Web API .NET 5 入门
如今,由于众多优势,大多数应用程序都是使用 Web API 开发的。Web API 为开发人员或集成工程师提供了在各种应用程序之间进行通信的选项。Web API 减少了依赖关系,并减少了应用程序之间的耦合。
Web API 不是技术而是概念,可以使用任何技术(如 .Net、Java、Node js、PHP 等)构建。不需要了解 Web API 的后端技术,并且可以轻松实现它,从而打开了广泛的用途和概念。
在本文中,我们将详细探讨 Web API,它是什么以及如何在 ASP.Net 中开发 Web API,即 ASP.NET Web API。我们将学习以下主题
- 什么是 API 和 Web API
- HTTP 方法
- ASP.NET Web API
- 创建 ASP.NET Web API(.NET core 5)
- 为 Web API 测试实施 Swagger
- 测试 ASP.NET Web API
- ASP.NET Web API 的好处
API 和 Web API
API,Application Programming Interface,是一种具有一组用于连接应用程序的功能的接口。通常,API 使程序员能够利用特定的功能、服务、访问应用程序的数据、执行逻辑、数据库中的操作等。
API 只是方法、过程、请求、子例程或端点。
Web API:大多数 API 通常是基于 Web 的,可以使用 HTTP 请求通过 Internet 访问。Web API 是一种 Web 开发概念,可以使用任何技术进行开发。无论使用何种编程语言,它都可以被任何应用程序使用。程序员无需了解 Web API 的底层技术或编程语言即可在他们的解决方案中实现或使用它。
例如,谷歌 API 被广泛实现或集成到谷歌地图、距离、语言、认知服务等多个应用程序中。 那些使用谷歌 API 的解决方案,不需要了解底层技术或语言,但应该知道端点 URL , 和参数。
同样,Microsoft 为各种服务提供了广泛的 Web API,例如认知服务、Azure 服务,这些服务提供与任何应用程序集成的功能。
HTTP 方法
超文本传输协议是一种应用协议,用于在万维网上通过互联网交换信息或数据。HTTP 动词用于获取或发送数据到服务器。
下面列出了 HTTP 动词,
GET – 此请求/操作用于从 Web 服务检索数据。
POST – 此请求/操作用于在 Web 资源上添加内容、消息和创建新数据项。
PUT – 此请求/操作修改 Web 服务上的数据项。
DELETE – 此操作删除 Web 服务上的资源。
PATCH – 此操作通过描述有关如何更新项目的一组指令来修改现有 Web 资源上的数据项目。通常,它不会在示例应用程序中使用。
ASP.NET Web API
ASP.NET Web API 是一个 .NET 框架,用于使用可通过任何应用程序访问的基于 HTTP 的服务构建或开发 RESTFUL API。此 Web API 可以通过浏览器、移动设备和使用 Web 服务与各种客户端进行通信。
API 的客户端通过 HTTP 请求进行通信,以使用 JSON、XML 或其他一些数据格式交换信息。这对于单页应用程序也被回调,其中所有的逻辑、操作和数据库通信都是通过 API 完成的。
如果 Web API 被定义为 RESTful API,
- 带有 GET、POST、PUT、DELETE 和 PATCH 的 HTTP 请求
- 基本网址
- 数据使用 JSON、XML 媒体类型
创建 ASP.NET Web API
现在,我们将使用 .NET 5(核心)创建 asp.net Web API。我们将使用
- Visual Studio 2019(任何版本社区/专业/企业)
- .Net 5
打开 Visual Studio 并创建一个新项目。
然后,我们将选择如下所示的项目模板 ASP.NET Core Web API。
我们需要给出一个项目名称和位置,如下所示:
下一步,我们将获得选择目标框架的选项,并将选择当前版本的 .NET 5.0。此外,还有其他一些选择。
目标框架:.NET 5.0
认证类型:无
为 Https 配置
启用泊坞窗
启用 OpenAPI 支持。(这将启用 swagger,我们将在本文后面讨论)
我们将单击“创建”按钮来创建 ASP.NET Web API。
现在,我们的 Web API 项目已创建。我们将构建并运行项目以检查 Web API。项目的输出如下图所示。
我们已经成功创建了一个 ASP.NET Web API。由于实现了 swagger,我们也可以测试 API。
让我们进一步了解这个 Web API 项目。
如图所示,该项目以大摇大摆的方式实施。
我们可以通过安装 NuGet 包Swashbuckle.AspNetCore来实现 swagger 。
昂首阔步
这是 OpenAPI,API 文档,它是一种用于描述 REST API 的与语言无关的规范。Swagger 项目于 2015 年为 OpenAPI 计划做出了贡献,此后被称为 OpenAPI。
- Swagger 提供 API 文档并减少准备它所需的时间
- 减少连接解耦服务所需的数量
- 提供 UI 以测试 Web API
Web API 控制器
API 在控制器文件夹下定义,具有 APIController 属性,如下所示:
在控制器类中,我们定义了 API 控制器、路由和 HTTP 方法,如所示的示例。
这就是我们定义 API 控制器的方式。这是一个虚拟或示例 API,但是,在下一篇文章中,我将在 ASP.NET Web API 中进行完整的 CRUD 操作。
测试 ASP.NET Web API
由于我们已经实现了 swagger,我们可以轻松地测试我们的 API。我们可以使用 Post Man 测试这个 Web API,但在本文中,我们将使用 swagger 进行测试,如图所示。
我们将使用上面的界面作为招摇,我已经突出显示了一些关键领域。
- API 端点路由/URL
- 试一试:尝试或测试 API
- 参数:这将提供输入参数的选项(如果有)
- 响应输出示例
- 架构:所有必要的架构。
这就是我们如何创建和开始使用 ASP.NET Web API。
ASP.NET Web API (.NET 5) 的一些好处
ASP.NET Web API 提供了构建任何类型的现代 Web API 的完整选项。我们可以使用相同的 .NET 框架或 .net 核心、相同的编码模式来开发具有多种选项的 Web API。我们可以使用 ASP.NET Web API 实现各种设计模式和体系结构。
同一项目中的网页和服务
这意味着我们可以在同一个项目中构建 Web API 或服务以及网页,这提供了在两者中重用模型类、验证逻辑等的优势。
认证和授权
我们可以使用 ASP.NET Web API 中内置的 .net 身份验证和授权来保护它们。内置身份验证和授权是行业标准的 JSON Web 令牌 (JWT)。此选项使您可以灵活地使用 .net 代码控制基于策略的授权和访问控制规则。
简单的序列化
ASP.NET Web API 提供了我们的类到属性的自动序列化,开箱即用,无需任何特定配置。它提供了现代 Web 体验,当然还有根据需求自定义端点序列化的功能。
灵活路由
ASP.NET 提供了使用属性从代码定义路由和端点 URL 的灵活选项。我们可以定义基于路由的控制器名称或使用不同的名称自定义它们。我们可以为控制器方法提供不同的路由。
HTTPS 选项
APS.NET 提供了一个开箱即用的 HTTPS 选项。ASP.NET 在创建项目时提供此选项,并通过为本地开发环境生成测试证书自动完成其余配置。这是现代应用程序/Web API 的重要组成部分之一,它通过客户端和服务器通信对数据进行端到端加密,并保护具有隐私性的 API。
结论
ASP.NET 提供了各种选项和优势来构建具有行业标准和跨平台的现代 Web API。在本文中,我们了解了 API 和 Web API,它们已成为开发解决方案和服务的当代趋势。我们还探索了 ASP.NET Web API 并使用 .NET 5 创建了 Web API。我们已经深入研究了如何使用 OpenAPI 的内置选项实现 swagger、测试和调试 Web API。此外,使用 ASP.NET 构建 Web API 有许多优点,本文上面列出了这些优点。我们将在下一篇文章中使用 ASP.NET Web API 中的真实解决方案进行完整的 CRUD 操作。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!