创建并运行一个Hello World和CRUD Web API - NET Nakama
简介
本文将带领您构建一个简单的“Hello, World!” REST 分析 API 控制器的代码结构,包括路由和数据绑定等内容。
创建一个 ASP.NET Core Web API
运行 ASP.NET Core Web API
要启动 Web API 服务,您需要一个 HTTP 服务器来处理 HTTP 请求。在 Visual Studio 2019(适用于 Windows)中,默认提供了两种运行 Web 项目应用程序的方式(如图 2 所示)。选择首选的运行选项后,点击绿色的“播放”按钮即可启动应用程序。以下是这些托管模型选项的详细说明:
图 2 – 选择如何运行 Web 项目应用程序
Kestrel
- Kestrel 是 ASP.NET Core 提供的跨平台 HTTP 服务器实现。它监听 HTTP 请求并将其作为一组请求特性提供给应用程序(如 HttpContext 中的 Request、Response 和 User 等)。
- Kestrel 是 macOS 和 Linux 平台上项目的默认 HTTP 服务器。
- Kestrel 的使用方式:
- 直接处理来自网络的请求,或
- 配合反向代理服务器(如 IIS、Nginx 或 Apache)使用,反向代理服务器接收来自互联网的 HTTP 请求并将其转发给 Kestrel。
IIS Express
- IIS Express 是 Microsoft 为开发人员优化的轻量级、自包含的 IIS 版本,适用于 Windows 操作系统。
- 它使开发者能够轻松地使用最新版本的 IIS 进行网站开发和测试。
- IIS Express 提供了进程内和进程外托管的选项。
使用 Kestrel 运行 Web API
Kestrel 可直接处理来自网络的请求。以下是使用 Kestrel 的步骤:
- 在 Visual Studio 中选择项目名称(如图 2 所示),然后启动应用程序。
- 应用程序启动后,将打开一个终端窗口(如图 4 所示),显示 Web 应用程序运行的地址,例如:
http://localhost:5000https://localhost:5001
- 默认浏览器会自动打开
https://localhost:5001/weatherforecast。 - 您可以通过按下
F12打开开发者工具,查看请求/响应的详细信息。在网络选项卡中,您会看到服务器响应头显示为 "Kestrel"(如图 5 所示)。
图 4 – 使用 Kestrel 服务器直接处理请求时的终端示例
图 5 – 使用 Kestrel 服务器的响应服务器标头
使用 IIS Express 运行 Web API
IIS Express 提供了进程内和进程外托管模式。以下是使用 IIS Express 的步骤:
- 在 Visual Studio 中选择
IIS Express(如图 2 所示),然后启动应用程序。 - 在输出窗口中,您会看到 IIS Express 启动的信息,并显示 Web 应用程序运行的地址,例如:
http://localhost:52711https://localhost:44390
- 默认浏览器会自动打开
https://localhost:44390/weatherforecast。 - 同样,您可以通过按下
F12打开开发者工具,查看请求/响应的详细信息。在网络选项卡中,您会看到服务器响应头显示为 "Microsoft IIS/10.0"(如图 9 所示)。
图 8 – 使用 IIS Express 运行时的输出示例
图 9 – 使用 IIS Express 的响应服务器标头
创建和运行 CRUD 操作
在 ASP.NET Core 中,您可以通过以下步骤实现基本的 CRUD 操作:
1. 创建资源(POST)
使用 HttpPost 属性处理 POST 请求。以下是通过 POST 创建资源的代码示例:
[HttpPost]
public void Post([FromBody] string value)
{
// 在此处添加创建资源的逻辑
}
2. 读取资源(GET)
使用 HttpGet 属性处理 GET 请求。以下是获取资源列表和特定资源的代码示例:
[HttpGet]
public IEnumerable Get()
{
return new string[] { "Hello", "World!" };
}
[HttpGet("{id}")]
public string Get(int id)
{
return $"Resource ID: {id}";
}
3. 更新资源(PUT)
使用 HttpPut 属性处理 PUT 请求。以下是更新资源的代码示例:
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
{
// 在此处添加更新资源的逻辑
}
4. 删除资源(DELETE)
使用 HttpDelete 属性处理 DELETE 请求。以下是删除资源的代码示例:
[HttpDelete("{id}")]
public void Delete(int id)
{
// 在此处添加删除资源的逻辑
}
总结
本文介绍了如何创建一个简单的 ASP.NET Core Web API,并实现基本的 CRUD 操作。我们探讨了 Kestrel 和 IIS Express 两种托管模型的特点及其使用方法。此外,我们还学习了如何通过路由和数据绑定来定义 API 的行为。
通过本文的学习,您可以掌握创建和运行 Web API 的基础知识,并为进一步开发复杂的 API 应用程序打下坚实的基础。未来的文章中,我们将深入探讨 API 的高级功能及其优化方法。
原文链接: https://www.dotnetnakama.com/blog/create-and-run-a-hello-world-crud-web-api/
最新文章
- 智能语音新革命:有道与Azure的API服务对决
- 使用 ClickHouse Cloud API 和 Terraform 进行 CI/CD
- 用ASP.NET Core 给你的API接口打造一个自定义认证授体系
- REST API与WebSocket API区别?
- 如何在Python中使用免费的DeepL翻译API
- 如何获取tavily搜索API平台秘钥(分步指南)
- API可观察性:需要监控的5个指标
- 图和图谱的区别:深入解析与应用场景
- Railyard:我们如何快速训练机器学习模型…… – Stripe
- 如何构建API:从端点设计到部署的完整指南
- 通过 SEO rank API 获取百度关键词排名
- 音乐情绪可视化:Cyanite.ai 音乐情感分析API如何帮助我们理解音乐