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