一个简单的Web API演示,带有Swagger文档,自定义错误处理,单位测试,JSONPATCH和HTTPCLIENT测试仪。具有一些主题的教程YouTube视频。
该GitHub项目的目的是演示一个简单的CRUD Web API应用程序,其中包含其他教程(包括YouTube视频)和参考文献,包括Swagger,单位测试,JSONPATCH,自定义错误处理和显示,客户端测试人员等。
Visual Studio解决方案有三个项目:contosopizza(Web API),contosopizza.tests(单位测试)和WebApicLient(一个简单的HTTPCLIENT CONSOLE应用程序)

下面显示了及其成员的控制器,模型和服务类及其成员摘要。

这是一个简单的Web API,遵循标准CRUD(创建,读取,更新和删除)模式。 API操作的演示图像如下所示。






这是一些屏幕捕获,显示Web API JSONPATCH演示。


这是代码参考。
[
{
"value": "ModifiedPizza",
"path": "/name",
"op": "replace"
}
]

如果您想了解有关设置,安装和使用JSONPATCH的Web API项目的更多信息,这是一个很棒的教程参考视频。
使用JSONPATCH更新数据|初学者的网络API系列
jsonpatch在ASP.NET核心Web API中
该教程和演示项目将显示如何为Contoso Pizza Web API项目设置,配置和代码一个简单的自定义错误处理程序。
开发人员应计划代码中未经处理的错误。 Contoso Pizza Web API项目演示了如何做到这一点。在演示中,创建了一个端点,总是会引发一个未经手的异常。该项目具有一个自定义错误控制器,该控制器在将标准问题模型对象返回用户之前处理和记录异常。在程序配置中指定了错误控制器,以在不在开发环境中运行时路由到自定义错误控制器。开发环境是在调试启动配置文件设置下指定的,除非另有说明,否则默认值是生产的。
要查看开发和生产之间错误显示的差异,请先在开发模式下运行API。测试始终触发未手动异常的端点。在Swagger UI中,您可以看到响应和异常细节。浏览器窗口具有错误结果的独立而优雅的开发人员视图。
要在生产模式下运行API,请删除环境变量或手动将值设置为生产。由于Swagger UI不在生产模式下运行,因此您需要用URL手动测试API端点。用户的最终结果是带有标识符的一般错误。用户将使用此信息创建麻烦票。然后,该公司可以完成详细的故障排除,以将错误标识符与更详细的内部记录相匹配。

该教程和演示项目将向您展示如何在开发人员WebAPI项目中添加,设置,配置和验证Swagger文档。最终结果是在此代码回购中。
Swashbuckle和Swagger是两个流行的工具,用于生成Web API的开发人员文档。 Swashbuckle是一个软件包,可以添加到ASP.NET Core Web API项目中以集成Swagger UI。它具有三个主要组件:swashbuckle.aspnetcore.swagger,这是一个摇摇欲坠的对象模型和中间件,可将SwaggerDocument对象视为JSON端点; swashbuckle.aspnetcore.swaggergen,它是一种摇摇欲坠的发电机,可直接从路由,控制器和模型直接构建SwaggerDocument对象;和swashbuckle.aspnetcore.swaggerui,它是Swagger UI工具的嵌入式版本。它解释了Swagger JSON,以建立一种可定制的,可自定义的体验,以描述Web API功能。 Swagger(OpenAPI)是一种用于描述REST API的语言敏捷规范。它允许计算机和人类在不直接访问源代码的情况下了解REST API的功能。它的主要目标是最大程度地减少连接解耦服务所需的工作量。 ¹³⁴

该教程和演示项目将显示如何为Contoso Pizza Web API项目设置,配置和代码一个简单的HTTPCLIENT。
在此YouTube视频中,我们将学习如何创建一个连接到Web API并进行测试的简单控制台应用程序项目。该视频包括对项目运行和输出的简短演示,来自API。我们将首先在本地运行WebAPI以显示Swagger UI,从而获得OpenAPI文件。我们的Web API的JSON文件可以下载并保存到我们的项目目录。播放列表系列中还有另一个视频,该视频显示了如何设置和配置Swagger文档。下一步是将新的控制台应用程序项目添加到我们的解决方案中。这将是连接到我们的Web API的HTTPCLIENT应用程序。接下来,我们将从先前保存的Swagger UI JSON文件中添加OpenAPI服务参考。 Visual Studio将自动生成与Contoso Pizza Web API交互所需的客户码类。我们将查看自动生成的代码类。构造函数同时需要HTTPCLIENT对象实例和运行Web API的基本URL。如果您本地运行Web API,则可以从调试启动配置文件中找到它。最后,我们可以编码我们的项目,以创建对Contoso UI Pizza Web API的httpclient和代理服务,并尝试检索一些比萨饼。在运行HTTPCLIENT控制台应用程序之前,请确保Web API应用程序已经在本地运行。

该教程和演示项目将展示如何为WebAPI项目设置,配置和代码简单的单元测试。
在此视频中,我们将讨论如何使用CRUD控制器操作为Web API编写简单的单元测试。我们将使用Xunit和Fakeiteasy软件包来编写测试。我们将介绍单元测试的基础知识,包括如何设置测试项目,如何为每个CRUD操作编写测试,以及如何使用Xunit和Fakeiteasy创建模拟和存根。我们还将讨论编写单元测试的最佳实践,例如保持测试独立并确保它们易于阅读和维护。

尽管引用了教程,视频和文档,但该项目在创造性上是我自己的代码和风格,可以演示我的技术专业知识,并为GitHub上的集体技术知识做出了贡献。我列出了一些我绘制了一些代码示例和知识的资源。
初学者的系列to:Web API
Microsoft学习 - 使用ASP.NET Core Controller创建Web API
资料来源:与Bing的对话,11/10/2023(1)从Swashbuckle和Asp.net Core开始。 https://learn.microsoft.com/en-us/asp ....(2)ASP.NET核心Web API文档,带有Swagger/OpenAPI。 https://learn.microsoft.com/en-us/asp ....(3)什么是Swagger,Swashbuckle和Swashbuckle UI。 https://stackoverflow.com/questions/4 ....(4)使用Swagger Documentation提高API的开发人员体验.... https://learn.microsoft.com/en-us/tra .... asp.net core core core github上的核心文档
jsonpatch在ASP.NET核心Web API中