ApiChassis
1.0.0
该项目旨在创建一个基本的ASP.NET核心WebAPI底盘,以横越API开发任务,以实现Heroku的12Factor,Richardson的Microservices.io,OpenAPI规范以及Microsoft的实现和设计推荐。它是围绕.NET 5框架创建的,并准备在Docker堆栈上与配置管理,日志记录和缓存等工具一起运行。
安装并运行此模板的最新稳定版本,只需运行forwowing命令:
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApi这是已经实施的模式的列表。
| 图案 | 描述 |
|---|---|
| API底盘 | 该项目本身是为了解决理查森(Richardson)Microservices底盘模式中提出的设施。选择的服务API项目类型旨在解决12个因素主题VI,VII和VIII。 |
| API指标 | 该项目通过dotnet的app.UseHealthChecks()实现健康检查员。 |
| API版本控制 | 该项目实施API的URL版本控制 |
| Hateoas | 在进行中,该项目提供了一种替代访问数据的替代方法,该数据带有Web链接规范中提到的链接和Microsoft推荐的链接。 |
| OAS 3.0 | 该项目遵循API文档的第三版OpenAPI规范。 |
| 休息 | 该API在处理请求上实施了REST指南,因此,它在发送响应时遵循HTTP规范,也遵循Microsoft的推荐。 |
此模板和实现基于.NET 5,因此必须具有.NET SDK或在.NET Docker Image上运行此项目。
可用的解决方案将在source文件夹中。每个解决方案都应在Visual Studio或代码上打开,以进行编辑,编译和调试。要从命令行构建当前项目,请使用follwing命令:
dotnet build ./source/ApiChassi/ApiChassi.sln这些项目应通过一组基本的单元测试进行证明,并将其包含在模板上。他们也可以单独执行以下命令:
dotnet test ./source/ApiChassi/ApiChassi.sln为了构建Nuget软件包,我们选择使用Docker图像。有一个预定义的脚本,可以帮助构建所需的Nuget工具Docker Image并将Nuget作为模板包装。在本地制造和构建(甚至在Linux或MacOS上):
# EXECUTE THE FOLLOWING COMMANDS AT THE ROOT FOLDER
# CREATES A DOCKER IMAGE LOCALLY TO PACK THE SOURCE
./.environment/scripts/make_nuget.cmd
# CREATES THE NUPKG
./.environment/script/make_package.cmd对于本地测试,可以从文件夹中安装nupkg文件。为此,执行以下命令:
dotnet new --install ./Xopz.Templates.Api.0.0.1.nupkg
# CHECK INSTALLED TEMPLATES
dotnet new --list | grep XOPZ
# CREATE SOLUTION FROM TEMPLATE
dotnet new apichassis --name MyApi要删除已安装的模板 - 从nuget.org或本地删除:使用:
dotnet new --uninstall Xopz.Templates.Api