Alura > Cursos de Programação > Cursos de .NET > Conteúdos de .NET > Primeiras aulas do curso .NET: criando uma API Web com ASP.NET Core

.NET: criando uma API Web com ASP.NET Core

Arquitetura mínima - Apresentação

Olá, tudo bem?! Meu nome é André Bessa, sou instrutor da Escola de Programação da Alura e vou te acompanhar neste curso em que vamos criar uma API utilizando C#!

Audiodescrição: André se autodeclara como um homem negro. Está com a barba por fazer, tem cabelo baixo e rosto arredondado. Está de camiseta azul marinho com o nome da Alura estampado no peito em branco. Seu ambiente está iluminado com a cor azul, e ao fundo temos uma porta, algumas decorações nas paredes e uma estante com livros e enfeites.

O que vamos aprender?

Durante esse curso, vamos criar uma API com C# utilizando um template mínimo. Estruturaremos nossa solução em camadas, utilizando biblioteca de classes. Além disso, vamos aplicar boas práticas na construção de APIs e documentaremos nossa API utilizando o Swagger. Ao final, vamos publicar essa mesma API no Azure.

Vamos dar continuidade ao projeto ScreenSound que você conheceu no primeiro curso dessa formação. Na próxima atividade desta aula, o projeto estará disponível para você fazer o download.

Para quem é este curso?

Este curso é destinado a pessoas que já possuem conhecimento em orientação a objetos, que já concluíram nossa formação em C# e OO, têm noções de banco de dados e desejam se aprofundar na construção de APIs utilizando C#.

Recomendações

Além de assistir às aulas, recomendamos que você também realize as atividades propostas e pratique bastante, pois isso ajudará a fixar melhor o conteúdo aprendido. E em caso de dúvidas, recorra ao nosso fórum e ao nosso Discord.

Vamos começar?!

Arquitetura mínima - Centralizando as informações através de uma API

Vamos continuar o desenvolvimento do ScreenSound, uma aplicação que roda em ambiente desktop.

Estamos num estágio do desenvolvimento desse projeto em que temos um problema. Temos usuários como André, José e Andressa que estão utilizando o ScreenSound para gerenciar suas músicas e artistas. No entanto, a gestão de informações pode se tornar complexa, já que cada usuário vai ter uma série de músicas e artistas cadastrados.

Portanto, nosso objetivo é centralizar essas informações para melhorar a gestão. Com isso, no futuro, poderemos inclusive criar outras aplicações consumindo a mesma base de dados.

Então, como vamos centralizar essas informações em nosso projeto?

Criando um projeto de API

No VS Code 2022, com o projeto da ScreenSound aberto, vamos adicionar um novo tipo de projeto que vai permitir a centralização dessas informações na nossa solução: um projeto de API.

Para isso, vamos clicar com o botão direito em "Solução 'ScreenSound'" no Gerenciador de Soluções, no menu lateral direito da tela. Depois, clicamos em "Adicionar > Novo Projeto...".

Queremos configurar um projeto do tipo ASP.NET ao longo desse curso. Então, nessa tela onde aparecem os projetos possíveis de serem criados no VS, vamos dar um duplo clique em "ASP.NET Core Vazio" no menu lateral esquerdo da tela.

O nome do projeto será "ScreenSound.API", pois essa API vai centralizar as informações que queremos consumir, de artistas e músicas.

Clicando em "Próximo" no canto inferior direito da tela, definiremos a estrutura do projeto, que será ".NET 8.0", a mais recente até o momento da gravação desse vídeo. Vamos deixar a opção "Configurar para HTTPS" marcada e as demais opções desmarcadas.

Clicando em "Criar" no canto inferior direito da tela, nós temos agora dois projetos na solução: o projeto console, que já está consumindo a base de dados, com modelos de artistas e músicas; e o projeto de API, do tipo ASP.NET Core. Podemos vê-los no "Gerenciador de Soluções" no menu à direita da tela.

Em "Dependências", podemos verificar a estrutura do projeto API. Ele trabalha com o framework ASP.NET Core para o desenvolvimento de aplicações para a web da Microsoft.

Conclusões

Até agora, adicionamos em nossa solução mais um projeto, do tipo ASP.NET Core, que vai permitir a centralização das informações referentes a artistas e músicas. Na sequência, vamos prosseguir com a implementação da nossa API.

Arquitetura mínima - Criação do projeto Shared.Modelos

Continuamos com o projeto do ScreenSound e adicionamos à solução um projeto do tipo ASP.NET Core, que será a nossa API, com o objetivo de centralizar o consumo e acesso à nossa base de dados.

No projeto ScreenSound, queremos trabalhar com músicas e artistas. Surge então a dúvida: adicionamos artistas e músicas, os modelos, no projeto da API? Copiamos para o projeto da API? Recortamos o projeto console do ScreenSound? Mas isso poderia quebrar o projeto do console, e teríamos que fazer uma série de ajustes.

Pensando nisso, decidimos manter os dois projetos, tanto o console quanto o da API. Este modelo pode ser utilizado para outros projetos futuramente, como um projeto web ou mobile. Decidimos criar um projeto que será consumido pelas outras soluções, os demais projetos. E como fazemos isso no caso do ScreenSound?

Criando um projeto do tipo Biblioteca de Classes

Na nossa solução, vamos adicionar um novo projeto. Clicamos com o botão direito em "Solução 'ScreenSound'", selecionamos "Adicionar > Novo Projeto...". Na próxima tela, vamos escolher um projeto do tipo biblioteca. Para isso, pesquisamos por "biblioteca" na barra de busca e selecionamos a primeira opção, "Biblioteca de Classes", e clicamos em "Próximo".

O nome do projeto será ScreenSound.Shared.Modelos, uma biblioteca de modelos compartilhada entre vários projetos da nossa equipe. A estrutura do projeto será a .NET 8.0. Clicamos em "Criar".

O nosso objetivo é criar uma biblioteca que será compartilhada entre os projetos ScreenSound e que encapsulará os nossos modelos. Para isso, podemos recortar a pasta "Modelos" e colá-la no projeto de biblioteca, clicando nela com o botão direito no menu lateral direito, selecionando "Recortar" e depois clicando com o botão direito em ScreenSound.Shared.Modelos e selecionando "Colar".

Vamos excluir a Class1.css dos Shared.Modelos que o template padrão da biblioteca adiciona para nós, clicando nela com o botão direito e selecionando "Excluir". Agora, dentro de Shared.Modelos, devemos ter apenas Dependências e Modelos.

Temos na pasta "Modelos" as classes Artista.cs e Musica.cs. Ao compilar a nossa solução, clicando com o botão direito em "Solução 'ScreenSound'" e selecionando a opção "Recompilar solução", notamos no terminal que ela falha, quebrando em vários pontos no projeto console.

Isso aconteceu porque o console consome as classes Artista e Musica, mas essas duas classes não estão mais presentes nesse projeto. Então, precisamos fazer com que o projeto console referencie o novo projeto de Modelos.

Referenciando o projeto de biblioteca no projeto console

Clicamos com o botão direito em "Dependências", depois clicamos em "Adicionar Referência de Projeto...". Na janela suspensa, escolhemos o ScreenSound.Shared.Modelos e confirmamos clicando em "OK". Agora o nosso projeto ScreenSound reconhece os modelos. Ao recompilar a solução, notamos no terminal que o procedimento foi executado com sucesso!

Vamos executar o projeto ScreenSound para verificarmos que não está mais quebrando, clicando no botão verde de "Play" ao lado do nome "ScreenSound" na aba do menu superior. Quando a solução abrir no console, vamos testar se realmente está funcionando fazendo uma consulta de artistas, digitando a opção 3 e apertando "Enter". Ao fazer isso, todos os artistas registrados na aplicação são exibidos na tela. Ou seja: continua funcionando!

Conclusão

Até agora, adicionamos um novo tipo de projeto na nossa solução, de biblioteca de classes, que vai manter as classes Artista e Musica. Também adicionamos uma referência no projeto console a este novo projeto que contém as classes que vamos utilizar.

Na sequência, continuamos o desenvolvimento da nossa API. Vamos centralizar em outro projeto o nosso acesso aos dados.

Sobre o curso .NET: criando uma API Web com ASP.NET Core

O curso .NET: criando uma API Web com ASP.NET Core possui 142 minutos de vídeos, em um total de 57 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda .NET acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas