Este projeto, com a intenção de criar um chassi básico do ASP.NET Core Webapi para aumentar a tarefa de desenvolvimento da API listada no 12 Factor da Heroku, MicrosServices.io de Richardson, especificação OpenAPI e também a implementação e as recomendações de design da Microsoft. Ele foi criado em torno da estrutura .NET 5 e está preparado para executar em pilha do Docker, juntamente com ferramentas como gerenciamento de configurações, log e cache.
A instalação e execute a versão estável mais recente deste modelo, basta executar os comandos de Flowing:
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApiAqui está uma lista de padrões já implementados.
| Padrão | Descrição |
|---|---|
| Chassi da API | Este projeto em si é itentado em abordar as instalações propostas no padrão de chassi dos microsserviços de Richardson. O tipo de projeto de API de escolha do serviço pretendia abordar os tópicos do 12 Factor VI, VII e VIII. |
| Métricas de API | Este projeto implementa o HealthCheck fora da caixa através do app.UseHealthChecks() |
| Versão da API | Este projeto implementa a versão de URL para APIs |
| Hateoas | Em andamento, este projeto oferece uma alternativa para solicitar dados com links, conforme mencionado na especificação de vinculação da Web e recomendados pela Microsoft. |
| OEA 3.0 | Este projeto segue a terceira versão da especificação OpenAPI para documentação da API. |
| DESCANSAR | Esta API implementa orientações de REST sobre a solicitação de processamento, então, segue a especificação HTTP ao enviar uma resposta e também segue as recomendações da Microsoft da Microsoft |
Este modelo e implementação são baseados no .NET 5, portanto é necessário ter .NET SDK ou executar este projeto em uma imagem .NET Docker
As soluções disponíveis estarão dentro da pasta source . Cada solução deve poder ser aberta no Visual Studio ou código para edição, compilação e depuração. Para construir o projeto atual a partir da linha de comando, use o comando Follwing:
dotnet build ./source/ApiChassi/ApiChassi.slnOs projetos devem ser fornecidos com um conjunto básico de teste de unidade e eles estão incluídos no modelo. Eles também podem ser executados sozinhos com o seguinte comando:
dotnet test ./source/ApiChassi/ApiChassi.slnPara construir o pacote NUGET, escolhemos usar imagens do Docker. Há scripts predefinidos para ajudar a criar a imagem do Docker da Ferramenta Nuget necessária e embalar o NUGET como um modelo. Para fazer e construir localmente (mesmo em Linux ou 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 testes locais, é possível instalar o arquivo nupkg na pasta. Para fazer isso, execute o seguinte 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 remover o modelo instalado - do nuget.org ou localmente - use:
dotnet new --uninstall Xopz.Templates.Api