Compartilhar via


Publicar uma API Web do ASP.NET Core no Gerenciamento de API do Azure com o Visual Studio

Por Matt Soucoup

Neste tutorial, você aprenderá a criar um projeto de API Web do ASP.NET Core usando o Visual Studio, garantir que ele tenha suporte ao OpenAPI e publicar a API Web no Serviço de Aplicativo do Azure e no Gerenciamento de API do Azure.

Configuração

Para concluir o tutorial, você precisará de uma conta do Azure.

  • Abra uma conta gratuita no Azure se você não tiver uma.

Criar uma API Web do ASP.NET Core

O Visual Studio permite que você crie facilmente um novo projeto de API Web do ASP.NET Core a partir de um modelo. Siga estas instruções para criar um novo projeto de API Web do ASP.NET Core:

  • No menu Arquivo, selecione Novo>Projeto.
  • Insira "Web API" na caixa de pesquisa.
  • Selecione o modelo API Web do ASP.NET Core e Avançar.
  • No diálogo Configure seu novo projeto, nomeie o projeto como WeatherAPI e selecione Avançar.
  • Na caixa de diálogo Informações adicionais:
  • Confirme que o framework é .NET 6.0 (suporte de longo prazo).
  • Confirme se a caixa de seleção Usar controladores (desmarque para utilizar APIs mínimas) está marcada.
  • Confirme se a caixa de seleção Habilitar suporte a OpenAPI está marcada.
  • Selecione Criar.

Explorar o código

As definições do Swagger permitem que o Gerenciamento de API do Azure leia as definições de API do aplicativo. Ao marcar a caixa de seleção Habilitar suporte OpenAPI durante a criação do aplicativo, o Visual Studio adiciona automaticamente o código às definições do Swagger. Abra o arquivo Program.cs que mostra o seguinte código:


...

builder.Services.AddSwaggerGen();

...

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(); // Protected by if (env.IsDevelopment())
}

...

Verifique se as definições do Swagger são sempre geradas

O Gerenciamento de API do Azure precisa que as definições do Swagger estejam sempre presentes, independentemente do ambiente do aplicativo. Para garantir que eles sejam sempre gerados, mova app.UseSwagger(); para fora do bloco if (app.Environment.IsDevelopment()).

O código atualizado:


...

app.UseSwagger();

if (app.Environment.IsDevelopment())
{
    app.UseSwaggerUI();
}

...

Alterar o roteamento de API

Altere a estrutura de URL necessária para acessar a ação Get do WeatherForecastController. Conclua as seguintes etapas:

  1. Abra o arquivo WeatherForecastController.cs.

  2. Substitua o atributo de nível de classe [Route("[controller]")] por [Route("/")]. A definição de classe atualizada:

    [ApiController]
    [Route("/")]
    public class WeatherForecastController : ControllerBase
    

Publicar a API Web no Serviço de Aplicativo do Azure

Conclua as seguintes etapas para publicar a API Web do ASP.NET Core no Gerenciamento de API do Azure:

  1. Publique o aplicativo de API no Serviço de Aplicativo do Azure.
  2. Publique o aplicativo de API Web do ASP.NET Core na instância do serviço de Gerenciamento de API do Azure.

Publicar o aplicativo de API no Serviço de Aplicativo do Azure

Conclua as seguintes etapas para publicar a API Web do ASP.NET Core no Gerenciamento de API do Azure:

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Publicar.

  2. Na caixa de diálogo Publicar, selecione Azure e selecione o botão Avançar.

  3. Selecione Serviço de Aplicativo do Azure (Windows) e escolha o botão Avançar.

  4. Selecione Criar um novo Serviço de Aplicativo do Azure.

    A caixa de diálogo Criar Serviço de Aplicativo é exibida. Os campos de entrada Nome do Aplicativo, grupo de recursose Plano de Serviço de Aplicativo são preenchidos. Você pode manter esses nomes ou alterá-los.

  5. Selecione o botão Criar.

  6. Depois que o serviço de aplicativo for criado, selecione o botão Avançar.

  7. Selecione Criar um novo Serviço de Gerenciamento de API.

    A caixa de diálogo Criar Serviço de Gerenciamento de API é exibida. Você pode deixar os campos de entrada Nome da API, Nome da Assinaturae Grupo de Recursos como estão. Selecione o novo botão ao lado da entrada Serviço de Gerenciamento de API e insira os campos necessários nessa caixa de diálogo.

    Selecione o botão OK para criar o serviço de Gerenciamento de API.

  8. Selecione o botão Criar para continuar com a criação do serviço de Gerenciamento de API. Essa etapa pode levar vários minutos para ser concluída.

  9. Quando for concluído, selecione o botão Concluir.

  10. A caixa de diálogo é fechada e uma tela de resumo é exibida com informações sobre a publicação. Selecione o botão Publicar.

    A API Web é publicada no Serviço de Aplicativo do Azure e no Gerenciamento de API do Azure. Uma nova janela do navegador será exibida e mostrará a API em execução no Serviço de Aplicativo do Azure. Você pode fechar essa janela.

  11. Abra o portal do Azure em um navegador da Web e navegue até a instância de Gerenciamento de API que você criou.

  12. Selecione a opção APIs no menu à esquerda.

  13. Selecione a API que você criou nas etapas anteriores. Agora está populado e você pode explorar ao redor.

Configurar o nome da API publicada

Observe que o nome da API é WeatherAPI; no entanto, gostaríamos de chamá-la de Previsões Meteorológicas. Conclua as seguintes etapas para atualizar o nome:

  1. Adicione o seguinte ao Program.cs imediatamente após services.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. Republice a API Web do ASP.NET Core e abra a instância de Gerenciamento de API do Azure no portal do Azure.

  3. Atualize a página no navegador. Agora você verá que o nome da API está correto.

Verifique se a API Web está funcionando

Você pode testar a API Web do ASP.NET Core implantada no Gerenciamento de API do Azure no portal do Azure com as seguintes etapas:

  1. Abra a guia Testar.
  2. Selecione / ou a operação Get.
  3. Selecione Enviar.

Limpar

Quando você concluir o teste do aplicativo, acesse o portal do Azure e exclua o aplicativo.

  1. Selecione Grupos de recursose selecione o grupo de recursos que você criou.

  2. Na página Grupos de recursos, selecione Excluir.

  3. Insira o nome do grupo de recursos e selecione Excluir. Seu aplicativo e todos os outros recursos criados neste tutorial agora são excluídos do Azure.

Recursos adicionais