StackSpot.Template.Rest 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package StackSpot.Template.Rest --version 1.1.0                
NuGet\Install-Package StackSpot.Template.Rest -Version 1.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StackSpot.Template.Rest" Version="1.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StackSpot.Template.Rest --version 1.1.0                
#r "nuget: StackSpot.Template.Rest, 1.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install StackSpot.Template.Rest as a Cake Addin
#addin nuget:?package=StackSpot.Template.Rest&version=1.1.0

// Install StackSpot.Template.Rest as a Cake Tool
#tool nuget:?package=StackSpot.Template.Rest&version=1.1.0                

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.

There are no supported framework assets in this package.

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