StackSpot.Template.Rest
2.0.5
dotnet add package StackSpot.Template.Rest --version 2.0.5
NuGet\Install-Package StackSpot.Template.Rest -Version 2.0.5
<PackageReference Include="StackSpot.Template.Rest" Version="2.0.5" />
paket add StackSpot.Template.Rest --version 2.0.5
#r "nuget: StackSpot.Template.Rest, 2.0.5"
// Install StackSpot.Template.Rest as a Cake Addin #addin nuget:?package=StackSpot.Template.Rest&version=2.0.5 // Install StackSpot.Template.Rest as a Cake Tool #tool nuget:?package=StackSpot.Template.Rest&version=2.0.5
StackSpot Template Rest
Componente projetado para auxiliar no desenvolvimento de serviços Rest, seguindo os princípios da Clean Architecture.
Para saber mais sobre templates, acesse a documentação da microsoft.
Instalação
Para realizar a instalação do Scaffold em .NET, execute comando abaixo:
- net6.0
dotnet new -i StackSpot.Template.Rest::*
- net5.0
dotnet new -i StackSpot.Template.Rest.5.0::*
Caso a instalação do Scaffold tenha sido realizada com sucesso, será listado o template na lista de tipos de projetos, que podem ser criados no terminal.
Também é possível listar os templates existentes através do comando abaixo:
dotnet new
Uso
Para criar um projeto, acesse o diretório no qual deseja criar o projeto e execute o comando a seguir:
- net6.0
dotnet new stackspot.rest -n Example -p example-api -o .
- net5.0
dotnet new stackspot.rest.net5 -n Example -p example-api -o .
Nota: Lembre-se de alterar o nome do projeto e o repositório para serem aderentes ao domínio de seu serviço.
Alguns parâmetros desse comando são:
- Nome da solução: -n
- Nome do repositório git: -p
- Criar o projeto no diretório atual: -o .
Execução do projeto criado
Após criar o projeto, acesse o diretório em que foi criado e execute o seguinte comando:
dotnet restore Example.Api.sln
Realize também o build do projeto, através do comando abaixo:
dotnet build Example.Api.sln
Realize a execução dos testes unitários e de integração, através do comando abaixo:
dotnet test Example.Api.sln
Para testar a aplicação, ainda no diretório, execute o seguinte comando:
dotnet run --project ./src/Example.Api/Example.Api.csproj
Em seguida, abra http://localhost:5000 no seu navegador.
Com a aplicação em execução, acesse a url https://localhost:5001/swagger, acesse os detalhes da aplicação e clique em "Ir para localhost (não seguro)". Ao acessar o endereço acima, você poderá ver a documentação de sua aplicação.
Dica: Neste caso, a estrutura com exemplo foi criada automaticamente.
Desenvolvimento
Se durante o desenvolvimento do template for necessário instalar a partir do source, basta executar o comando abaixo na raiz do projeto:
- net6.0
dotnet new -i templates/Template6
- net5.0
dotnet new -i templates/Template5
Configuração do Docker
Para que o Docker funcione, você precisará adicionar um certificado SSL temporário e montar um volume para manter esse certificado. Você pode encontrar no Microsoft Docs que descrevem as etapas necessárias para Windows, macOS e Linux.
Para Windows: O seguinte precisará ser executado a partir do seu terminal para criar um certificado:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust
NOTA: Ao usar o PowerShell, substitua %USERPROFILE% por $env:USERPROFILE.
PARA macOS:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust
PARA Linux:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust
Para construir e executar os containers docker, execute o comando abaixo na raiz da solução onde você encontra o arquivo docker-compose.yml
docker-compose -f 'docker-compose.yml' up --build
. Você também pode usar "Docker Compose" do Visual Studio para fins de debug.Em seguida, abra http://localhost:5000 no seu navegador.
Visão Geral
Camada de Domain
Contem todas as entidades, enumerações, exceções, interfaces, tipos e lógicas específicas da camada de domínio.
Camada de Application
Essa camada contém toda a lógica da api. É dependente da camada de domínio, mas não tem dependências de nenhuma outra camada ou projeto. Essa camada define interfaces que são implementadas por camadas externas. Por exemplo, se o aplicativo precisar acessar um serviço de notificação, uma nova interface será adicionada ao aplicativo e uma implementação será criada na infraestrutura.
Camada de Infrastructure
Essa camada contém classes para acessar recursos externos, como sistemas de arquivos, serviços da Web, smtp e assim por diante. Essas classes devem ser baseadas em interfaces definidas na camada de aplicação.
Camada de Api
Essa camada é um aplicativo de ASP.NET Core 5/6. Essa camada depende das camadas Aplicativo e Infraestrutura, no entanto, a dependência da infraestrutura é apenas para dar suporte à injeção de dependência. Portanto, apenas Startup.cs deve fazer referência à infraestrutura.
Componentes Utilizados
Referências
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.5 | 2,081 | 10/23/2022 |
2.0.4 | 900 | 6/24/2022 |
2.0.3 | 606 | 4/27/2022 |
2.0.2 | 565 | 4/16/2022 |
2.0.1 | 455 | 4/13/2022 |
2.0.0 | 523 | 4/4/2022 |
1.1.2 | 478 | 4/1/2022 |
1.1.1 | 472 | 3/31/2022 |
1.1.0 | 438 | 3/30/2022 |
1.0.9 | 441 | 3/30/2022 |
1.0.8 | 477 | 3/25/2022 |
1.0.7 | 484 | 3/25/2022 |
1.0.6 | 511 | 3/10/2022 |
1.0.3 | 465 | 3/10/2022 |
1.0.2 | 607 | 2/2/2022 |
1.0.1 | 497 | 2/2/2022 |
1.0.0 | 512 | 1/31/2022 |