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.
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.
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#.
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?!
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?
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.
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.
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?
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.
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!
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.
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.