Condividi tramite


Pubblicare un'API Web ASP.NET Core in Azure Gestione API con Visual Studio

Di Matt Soucoup

In questa esercitazione si apprenderà come creare un progetto API Web di ASP.NET Core usando Visual Studio, assicurarsi che disponga del supporto OpenAPI e quindi pubblicare l'API Web sia nel servizio app Azure che in Azure Gestione API.

Impostazione

Per completare l'esercitazione è necessario un account Azure.

Creare un'API Web ASP.NET Core

Visual Studio consente di creare facilmente un nuovo progetto API Web di ASP.NET Core da un modello. Seguire queste istruzioni per creare un nuovo progetto API Web di ASP.NET Core:

  • Scegliere Nuovo>progetto dal menu File.
  • Immettere l'API Web nella casella di ricerca.
  • Selezionare il modello api Web core ASP.NET e selezionare Avanti.
  • Nella finestra di dialogo Configura il nuovo progetto assegnare al progetto il nome WeatherAPI e selezionare Avanti.
  • Nella finestra di dialogo Informazioni aggiuntive:
  • Verificare che Framework sia .NET 6.0 (supporto a lungo termine).
  • Verificare che la casella di controllo Usa controller (deselezionare l'uso di API minime) sia selezionata.
  • Verificare che la casella di controllo Abilita supporto OpenAPI sia selezionata.
  • Seleziona Crea.

Esplorare il codice

Le definizioni di Swagger consentono ad Azure Gestione API di leggere le definizioni api dell'app. Selezionando la casella di controllo Abilita supporto OpenAPI durante la creazione dell'app, Visual Studio aggiunge automaticamente il codice per creare le definizioni di Swagger. Aprire il Program.cs file che mostra il codice seguente:


...

builder.Services.AddSwaggerGen();

...

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

...

Verificare che le definizioni di Swagger siano sempre generate

Azure Gestione API richiede che le definizioni di Swagger siano sempre presenti, indipendentemente dall'ambiente dell'applicazione. Per assicurarsi che vengano sempre generati, spostarsi app.UseSwagger(); all'esterno del if (app.Environment.IsDevelopment()) blocco.

Il codice aggiornato:


...

app.UseSwagger();

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

...

Modificare il routing dell'API

Modificare la struttura dell'URL necessaria per accedere all'azione Get di WeatherForecastController. Effettuare i passaggi seguenti:

  1. Apri il file WeatherForecastController.cs.

  2. Sostituire l'attributo [Route("[controller]")] a livello di classe con [Route("/")]. Definizione della classe aggiornata:

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

Pubblicare l'API Web nel servizio app Azure

Completare i passaggi seguenti per pubblicare l'API Web ASP.NET Core in Azure Gestione API:

  1. Pubblicare l'app per le API in app Azure Servizio.
  2. Pubblicare l'app api Web ASP.NET Core nell'istanza del servizio azure Gestione API.

Pubblicare l'app per le API nel servizio app Azure

Completare i passaggi seguenti per pubblicare l'API Web ASP.NET Core in Azure Gestione API:

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica.

  2. Nella finestra di dialogo Pubblica selezionare Azure e selezionare il pulsante Avanti.

  3. Selezionare Servizio app di Azure (Windows) e quindi il pulsante Avanti.

  4. Selezionare Crea un nuovo servizio app Azure.

    Viene visualizzata la finestra di dialogo Crea servizio app. I campi di immissione Nome dell'app, Gruppo di risorse e Piano di servizio app vengono popolati automaticamente. È possibile mantenere questi nomi o modificarli.

  5. Selezionare il pulsante Crea.

  6. Dopo aver creato il servizio app, selezionare il pulsante Avanti .

  7. Selezionare Crea un nuovo servizio Gestione API.

    Viene visualizzata la finestra di dialogo Crea Gestione API servizio. È possibile lasciare invariati i campi Nome API, Nome sottoscrizione e Gruppo di risorse. Selezionare il nuovo pulsante accanto alla voce Gestione API Servizio e immettere i campi obbligatori da tale finestra di dialogo.

    Selezionare il pulsante OK per creare il servizio Gestione API.

  8. Selezionare il pulsante Crea per procedere con la creazione del servizio Gestione API. Il completamento di questo passaggio può richiedere alcuni minuti.

  9. Al termine, selezionare il pulsante Fine .

  10. La finestra di dialogo si chiude e viene visualizzata una schermata di riepilogo con informazioni sulla pubblicazione. Selezionare il pulsante Pubblica.

    L'API Web viene pubblicata sia nel servizio app Azure che in Azure Gestione API. Verrà visualizzata una nuova finestra del browser e verrà visualizzata l'API in esecuzione in app Azure Servizio. È possibile chiudere la finestra.

  11. Aprire il portale di Azure in un Web browser e passare all'istanza di Gestione API creata.

  12. Selezionare l'opzione API dal menu a sinistra.

  13. Selezionare l'API creata nei passaggi precedenti. È ora popolato ed è possibile esplorare.

Configurare il nome dell'API pubblicato

Si noti che il nome dell'API è denominato WeatherAPI. Tuttavia, si vuole chiamarlo Previsioni meteo. Completare i passaggi seguenti per aggiornare il nome:

  1. Aggiungere quanto segue a Program.cs subito dopo servies.AddSwaggerGen();

    builder.Services.ConfigureSwaggerGen(setup =>
    {
        setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
        {
            Title = "Weather Forecasts",
            Version = "v1"
        });
    });
    
  2. Ripubblicare l'API Web di ASP.NET Core e aprire l'istanza di Azure Gestione API nel portale di Azure.

  3. Aggiornare la pagina nel browser. Si noterà che il nome dell'API è ora corretto.

Verificare che l'API Web funzioni

È possibile testare l'API Web ASP.NET Core distribuita in Azure Gestione API dal portale di Azure seguendo questa procedura:

  1. Aprire la scheda Test.
  2. Selezionare / o l'operazione Get .
  3. Selezionare Invia.

Eseguire la pulizia

Al termine del test dell'app, passare al portale di Azure ed eliminare l'app.

  1. Selezionare Gruppi di risorse e in seguito il gruppo di risorse che è stato creato.

  2. Nella pagina Gruppi di risorse selezionare Elimina.

  3. Immettere il nome del gruppo di risorse e selezionare Elimina. A questo punto l'app e tutte le altre risorse create in questa esercitazione vengono eliminate da Azure.

Risorse aggiuntive