이 프로젝트는 Heroku의 12factor, Richardson 's Microservices.io, OpenAPI 사양 및 Microsoft의 구현 및 설계 재조정에 나열된 패턴을 구현하는 기본 ASP.NET Core WebAPI 섀시를 만들기 위해 기본 ASP.NET Core WebAPI 섀시를 만들려고합니다. .NET 5 프레임 워크 주변에서 생성되며 구성 관리, 로깅 및 캐싱과 같은 도구와 함께 Docker 스택에서 실행할 준비가되었습니다.
이 템플릿의 최신 안정 버전을 설치하고 실행하면 다음과 같습니다.
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApi다음은 이미 구현 된 패턴 목록입니다.
| 무늬 | 설명 |
|---|---|
| API 섀시 | 이 프로젝트 자체는 Richardson의 마이크로 서비스 섀시 패턴에서 제안 된 시설을 다루기 위해 사용됩니다. 서비스 API 프로젝트 유형 선택 12 Factor의 주제 VI, VII 및 VIII을 다루기위한 의도. |
| API 메트릭 | 이 프로젝트는 DotNet의 app.UseHealthChecks() 를 통해 HealthCheck을 상자 밖으로 구현합니다. |
| API 버전화 | 이 프로젝트는 API에 대한 URL 버전화를 구현합니다 |
| 증오 | 진행중인 이 프로젝트는 웹 링크 사양에 언급되고 Microsoft가 추천하는 링크가있는 데이터를 요청하는 대안을 제공합니다. |
| OAS 3.0 | 이 프로젝트는 API 문서에 대한 OpenAPI 사양의 세 번째 버전을 따릅니다. |
| 나머지 | 이 API는 처리 요청에 대한 휴식 안내를 구현하므로 응답을 보낼 때 HTTP 사양을 따릅니다. 또한 Microsoft의 추천을 따릅니다. |
이 템플릿과 구현은 .NET 5를 기반으로하므로 .NET SDK를 갖거나 .NET Docker Image 에서이 프로젝트를 실행해야합니다.
불가능한 솔루션은 source 폴더 내부에 있습니다. 각 솔루션은 편집, 컴파일 및 디버깅을 위해 Visual Studio 또는 코드에서 열 수 있어야합니다. 명령 줄에서 현재 프로젝트를 구축하려면 follwing 명령을 사용하십시오.
dotnet build ./source/ApiChassi/ApiChassi.sln프로젝트는 기본 단위 테스트 세트로 입증되어야하며 템플릿에 포함되어야합니다. 또한 다음 명령으로 혼자서 실행할 수 있습니다.
dotnet test ./source/ApiChassi/ApiChassi.slnNuget 패키지를 만들기 위해 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 MyApiNuget.org 또는 로컬에서 설치된 템플릿을 제거하려면 다음을 사용하십시오.
dotnet new --uninstall Xopz.Templates.Api