Criando uma API com .NET 6 usando VSCODE — parte 2 !

Marcio Nizzola
4 min readMar 14, 2022

--

Bom, depois que você viu o artigo ensinando a fazer a API utilizando o Visual Studio, vamos agora fazer o mesmo processo utilizando linha de comando e o VSCODE, o produto final será o mesmo, mas a idéia é mostrar que sem o Visual Studio podemos sim criar programas em .NET !

Primeiro vamos criar uma nova “solution” via linha de comando.

dotnet new sln -o ProdutosApi

Depois criaremos o projeto

dotnet new web -o ProdutosApi

Agora vamos inserir o projeto na nossa “solution”

dotnet sln ProdutosApi/ProdutosApi.sln add ProdutosApi/ProdutosApi.csproj

Pronto, agora é só usar o VSCode para fazermos a programação, só para testar, já vamos executar um comando e ver como o projeto funciona !

Abra o vscode, e clique em “File”, depois “Open Folder” e abra a pasta do seu projeto.

Abra um terminal como demonstrado na figura, e execute o comando

dotnet run

Pronto, no nosso navegador aí está

Agora é só repetir os passos da Parte 1 da publicação, criando os arquivos necessários.

Vamos já criar todos os arquivos necessários:

ProdutosModel.cs

namespace ProdutosApi  {  public class ProdutosModel  {    public int Id { get; set; }    public string Descricao { get; set; }    public decimal Custo { get; set; }    public decimal Preco { get; set; }    public decimal Estoque { get; set; }    public string? Foto { get; set; }    public DateTime DataDoCadastro { get; set; }    public DateTime DataDaAlteracao { get; set; }    public bool Ativo { get; set; }  }}

IProdutosService.cs.

namespace ProdutosApi{  public interface IProdutosService  {     ICollection<ProdutosModel> GetAll();     ProdutosModel GetOne(int id);  }}

ProdutosService.cs

namespace ProdutosApi{  public class ProdutosService : IProdutosService  {    private IList<ProdutosModel> _produtos;    public ProdutosService()    {    _produtos = new List<ProdutosModel>();    _produtos.Add(new ProdutosModel() { Id = 1, Descricao = "Tomate", Ativo = true, Custo = 1, Preco = 2, Estoque = 10 });    _produtos.Add(new ProdutosModel() { Id = 2, Descricao =     "Laranja", Ativo = true, Custo = 2, Preco = 3, Estoque = 20 });    _produtos.Add(new ProdutosModel() { Id = 3, Descricao = "Cebola", Ativo = true, Custo = 3, Preco = 4, Estoque = 30 });    _produtos.Add(new ProdutosModel() { Id = 4, Descricao = "Melancia", Ativo = true, Custo = 4, Preco = 5, Estoque = 40 });    }    public ICollection<ProdutosModel> GetAll()    {    return _produtos;    }    public ProdutosModel GetOne(int id)    {    return _produtos.Where(a => a.Id == id).FirstOrDefault();    }  }}

e agora voltar ao Program.cs e fazer a inclusão dos endpoints utilizando o conceito de Minimal Api e a injeção de dependência da classe de serviço.

Pronto, agora é só compilar e executar.

para isso, vamos fazer dentro do terminal do Vscode novamente o comando “dotnet run”.

Assim que rodar seu terminal ficará mostrando que a execução está ok se estiver assim: (obs: os números das portas podem mudar)

E o resultado você pode ver no seu navegador, colocando o endereço exibido ali no Terminal “https://localhost:7069” mais o seu endpoint que no caso é produtos.

https://localhost:7069/Produtos

ou colocando /Produtos/2

Pronto, a primeira parte está ok !! Mas vamos fazer algo mais pela API, inserindo o Swagger !

Para isto vamos adicionar o pacote nuget

dotnet add ProdutosApi.csproj package Swashbuckle.AspNetCore -v 6.2.3

Depois disso, basta acrescentar a inicialização do Swagger no Program.cs

Agora é só rodar novamente a aplicação e digitar no navegador o endpoint do swagger !

e agora podemos testar a API via interface ou obter a documentação, que conforme outro POST (Criando todas as requisições HTTP no Postman usando apenas o Swagger da sua aplicação.) que já fiz, pode auxiliar à montar as chamadas no Postman !

E se você sente falta da Solution Explorer, instale o plugin no VSCODE, para isso siga os passos da imagem

Aí você poderá ver seu projeto de uma forma muito mais organizada como é feito no Visual Studio, e ainda terá a possibilidade de clicar sobre a sua “Solution” e abrir um menu com opções similar ao que fazia no Visual Studio.

Pronto, agora sabemos como fazer uma API sem utilizar o Visual Studio !

--

--

Marcio Nizzola

Microsoft MVP | Software Architect na CI&T | Prof. da Etec Itu | Membro Fundador da Comunidade Itu Developers.