
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Olá, Ulysses. Como vai?
O erro HTTP 500 (Internal Server Error) é um erro genérico do lado do servidor que indica que a API encontrou uma condição inesperada que a impediu de resolver a requisição. No contexto de autenticação e autorização com o ASP.NET Core Identity, esse comportamento de "não encontrar a lista de artistas" costuma estar atrelado a três causas principais.
Vamos diagnosticar o problema por etapas para encontrar a solução:
Como o projeto utiliza o Identity, a tabela de Artistas pode estar tentando fazer um relacionamento com a tabela de usuários (AspNetUsers), ou o banco de dados não foi atualizado após a inclusão das configurações de autenticação.
dotnet ef migrations add AtualizacaoIdentity
dotnet ef database update
Se o erro diz "Sem parâmetro com o servidor", é muito provável que o seu controller de Artistas esteja tentando utilizar o DbContext ou o UserManager do Identity, mas a dependência não foi injetada ou resolvida corretamente no arquivo Program.cs.
ArtistaController está recebendo o contexto corretamente e se ele está registrado no contêiner do ASP.NET. Exemplo:private readonly ScreenSoundContext _context;
public ArtistaController(ScreenSoundContext context)
{
_context = context;
}
Se o endpoint que lista os artistas estiver protegido com o atributo [Authorize], e a sua requisição estiver enviando um token inválido, malformado ou expirado, a API pode falhar internamente ao tentar decodificar as Claims do usuário caso o middleware não esteja bem configurado.
[Authorize] em cima do método GetArtistas() e faça o teste. Se a lista aparecer, o erro 500 está na configuração do middleware de autenticação no seu Program.cs.Para não precisar adivinhar, ative o detalhamento de erros no console da sua API. No arquivo Program.cs, certifique-se de que a linha de página de exceção de desenvolvedor está ativa:
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
Abra o terminal onde a API está rodando e refaça a requisição. O console do ASP.NET vai mostrar a StackTrace completa do erro 500 em letras vermelhas, apontando exatamente a linha de código e o arquivo onde a falha aconteceu.
Dê uma olhada no log do console e, se precisar de ajuda para interpretar a exceção, cole a mensagem de erro aqui no tópico para resolvermos juntos!
Espero que possa ter lhe ajudado!