Este proyecto tiene la intención de crear un chasis BASIC ASP.NET Core WebAPI para RAMPUP Tarea de desarrollo de API Implementación de patrones enumerados en el 12 Factor de Heroku, Microservices.io de Richardson, especificaciones de OpenAPI y también las recomendaciones de implementación y diseño de Microsoft. Se crea alrededor del marco .NET 5 y está preparado para ejecutarse en Docker Stack junto con herramientas como la administración de configuración, el registro y el almacenamiento en caché.
Instalar y ejecutar la última versión estable de esta plantilla simplemente ejecute los comandos de Folowing:
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApiAquí hay una lista de patrones ya implementados.
| Patrón | Descripción |
|---|---|
| Chasis API | Este proyecto en sí mismo está atentado para abordar las instalaciones propuestas en el patrón de chasis de microservicios de Richardson. Elegido del tipo de proyecto API de servicio intencionado para abordar los temas de 12 Factor VI, VII y VIII. |
| API Métricas | Este proyecto implementa HealthCheck fuera de la caja a través de app.UseHealthChecks() |
| Versión de API | Este proyecto implementa versiones de URL para API |
| Odioas | En progreso, este proyecto ofrece una alternativa para solicitar datos con enlaces como se menciona en la especificación de vinculación web y recomendado por Microsoft. |
| OAS 3.0 | Este proyecto sigue la tercera versión de la especificación de OpenAPI para la documentación de API. |
| DESCANSAR | Esta API implementa la orientación de REST sobre la solicitud de procesamiento, así que sigue la especificación HTTP al enviar una respuesta y también sigue los Recomendiones de Microsoft |
Esta plantilla e implementación se basa en .NET 5, por lo que es necesario tener .NET SDK o ejecutar este proyecto en una imagen de .NET Docker
Las soluciones avalables estarán dentro de la carpeta source . Cada solución debe poder abrirse en Visual Studio o código para editar, compilar y depurar. Para construir el proyecto actual desde la línea de comandos, use el comando Follwing:
dotnet build ./source/ApiChassi/ApiChassi.slnSe deben realizar los proyectos con un conjunto básico de prueba unitaria y se incluyen en la plantilla. También se pueden ejecutar para el siguiente comando:
dotnet test ./source/ApiChassi/ApiChassi.slnPara construir el paquete Nuget, elegimos usar imágenes de Docker. Hay un scripts predefinidos para ayudar a construir la imagen de Docker de herramienta Nuget requerida y empacar el Nuget como plantilla. Para hacer y construir localmente (incluso en Linux o 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 Para las pruebas locales es posible instalar el archivo nupkg desde la carpeta. Para hacer eso, ejecute el siguiente comando:
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 MyApiPara eliminar la plantilla instalada, de nuget.org o localmente, use:
dotnet new --uninstall Xopz.Templates.Api