Harjoitus – Luo WWW-ohjelmointirajapintaprojekti

Valmis

Tässä moduulissa käytetään .NET 8.0 SDK:ta. Varmista, että .NET 8.0 on asennettu suorittamalla seuraava komento ensisijaisessa komentopäätteessä:

dotnet --list-sdks

Seuraavan esimerkin kaltainen tuloste tulee näkyviin:

6.0.317 [C:\Program Files\dotnet\sdk]
7.0.401 [C:\Program Files\dotnet\sdk]
8.0.100 [C:\Program Files\dotnet\sdk]

Varmista, että luettelossa on versio, jonka alussa on 8. Jos mitään ei ole luettelossa tai komentoa ei löydy, asentaa uusimman .NET 8.0 SDK -.

Verkon ohjelmointirajapintaprojektin luominen ja siihen tutustuminen

Jos haluat määrittää .NET-projektin toimimaan verkon ohjelmointirajapinnan kanssa, käytämme Visual Studio Codea. Visual Studio Code sisältää integroidun päätteen, joka tekee uuden projektin luomisesta helppoa. Jos et halua käyttää koodieditoria, voit suorittaa tämän moduulin komennot päätteessä.

  1. Valitse Visual Studio Codessa Tiedosto>Avaa kansio -.

  2. Luo valitsemaasi sijaintiin uusi kansio nimeltä ContosoPizza ja valitse sitten Valitse kansio.

  3. Avaa integroitu pääte Visual Studio Codesta valitsemalla päävalikosta Näytä>Terminal.

  4. Kopioi ja liitä seuraava komento pääteikkunaan:

    dotnet new webapi -controllers -f net8.0
    

    Tämä komento luo rekisterinpitäjiä käyttävän VERKKO-ohjelmointirajapintaprojektin tiedostot sekä C#-projektitiedoston nimeltä ContosoPizza.csproj, joka palauttaa sääennusteiden luettelon. Jos saat virheilmoituksen, varmista, että sinulla on asennettuna .NET 8 SDK.

    Tärkeä

    WWW-ohjelmointirajapintaprojektit suojataan oletusarvoisesti https. Jos sinulla on ongelmia, määrittää https-ydinkehitysvarmenteen ASP.NET -.

    Saatat saada Visual Studio Codesta kehotteen lisätä resursseja projektin virheenkorjaukseksi. Valitse valintaikkunassa Kyllä.

    Komento käyttää ASP.NET Core -projektimallia, jonka aliaksena on webapi C#-pohjaisen verkko-ohjelmointirajapintaprojektin luomiseen. Luodaan ContosoPizza hakemisto. Tämä hakemisto sisältää ASP.NET Core -projektin, joka on käynnissä .NET:ssä. Projektin nimi vastaa ContosoPizza hakemiston nimeä.

    Sinulla pitäisi nyt olla käyttöoikeus seuraaviin tiedostoihin ja hakemistoihin:

    -| Controllers
    -| obj
    -| Properties
    -| appsettings.Development.json
    -| appsettings.json
    -| ContosoPizza.csproj
    -| ContosoPizza.http
    -| Program.cs
    -| WeatherForecast.cs
    
  5. Tutki seuraavia tiedostoja ja hakemistoja:

    Nimi Kuvaus
    Controllers/ Sisältää luokkia, joiden julkiset menetelmät on paljastettu HTTP-päätepisteiksi.
    Program.cs Määrittää palvelut ja sovelluksen HTTP-pyyntöputken ja sisältää sovelluksen hallitun aloituskohdan.
    ContosoPizza.csproj Sisältää projektin määritysten metatiedot.
    ContosoPizza.http Sisältää määrityksen REST-ohjelmointirajapintojen testaamiseksi suoraan Visual Studio Codesta.

Www-ohjelmointirajapinnan luominen ja testaaminen

  1. Suorita seuraava .NET Core CLI -komento komentoliittymässä:

    dotnet run
    

    Edellinen komento:

    • Etsii projektitiedoston nykyisestä hakemistosta.
    • Noutaa ja asentaa tämän projektin pakolliset projektiriippuvuudet.
    • Kääntää projektikoodin.
    • Isännöi www-ohjelmointirajapintaa ASP.NET Kestrel-ydinverkkopalvelimella sekä HTTP- että HTTPS-päätepisteessä.

    HTTP:lle valitaan portti 5000–5300 ja HTTPS:n portti 7000:sta 7300:aan, kun projekti luodaan. Voit helposti muuttaa kehityksen aikana käytettäviä portteja muokkaamalla projektin launchSettings.json tiedostoa. Tässä moduulissa käytetään url-osoitteen suojattua localhost, joka alkaa https.

    Sinun pitäisi saada seuraavanlainen tuloste, joka ilmaisee, että sovelluksesi on käynnissä:

    Building...
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: https://localhost:7294
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: http://localhost:5118 
    info: Microsoft.Hosting.Lifetime[0]
          Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
          Hosting environment: Development        
    

    Jos käytät sovellusta omalla koneellasi, voit tarkastella tuloksena saatavaa sivua ohjaamalla selaimen tuloksessa näkyvään HTTPS-linkkiin (edellisessä tapauksessa https://localhost:7294). Muista tämä portti, koska käytät sitä kaikkialla moduulissa, jossa {PORT} käytetään.

    Tärkeä

    Tarkista päätteen tulos, jos kohtaat odottamatonta toimintaa. Jos koontiversio epäonnistuu tai jos muita virheitä ilmenee, lokitiedoston tietojen vianmääritys on sinulle apua. Kun teet muutoksia koodiin, verkko-ohjelmointirajapinta on pysäytettävä valitsemalla näppäimistöllä CTRL + C ja suorittamalla dotnet run komento uudelleen.

  2. Avaa selain ja siirry osoitteeseen:

    https://localhost:{PORT}/weatherforecast
    

    Tämän esimerkin kaltaisen JSON-tuloksen pitäisi näkyä:

    [
        {
        "date": "2021-11-09T20:36:01.4678814+00:00",
        "temperatureC": 33,
        "temperatureF": 91,
        "summary": "Scorching"
        },
        {
        "date": "2021-11-09T20:36:01.4682337+00:00",
        "temperatureC": -8,
        "temperatureF": 18,
        "summary": "Cool"
        },
        // ...
    ]
    

Valinnainen: Tutki .http tiedostojen avulla

Projektiin sisältyy ContosoPizza.http, tiedosto, jota käytetään ohjelmointirajapinnan päätepisteiden testaamiseen vakiomuodossa. .http -tiedostoja tuetaan useissa integroiduissa kehitysympäristöissä, kuten Visual Studiossa ja Visual Studio Codessa, johon on asennettu REST Client -laajennus.

  1. Avaa ContosoPizza.http-tiedosto.

    Joissain ide-tiedostoissa tämä tiedosto on esimääritetty @ContosoPizza_HostAddress muuttujilla ja GET -komennolla, joka kutsuu /weatherforecast/, joka hyväksyy application/json.

  2. Jos se on tiedostossasi, valitse Sent Request -komento, joka on GET- yläpuolella, joka lähettää pyynnön käynnissä olevaan palveluun.

    Tämän komennon kutsuminen avaa vastausikkunan, jonka tuloste on samanlainen kuin selaimessa:

    HTTP/1.1 200 OK
    Connection: close
    Content-Type: application/json; charset=utf-8
    Date: Wed, 17 Jan 2024 16:46:40 GMT
    Server: Kestrel
    Transfer-Encoding: chunked
    
    [
        {
            "date": "2024-01-18",
            "temperatureC": -2,
            "temperatureF": 29,
            "summary": "Warm"
        },
        {
            "date": "2024-01-19",
            "temperatureC": 24,
            "temperatureF": 75,
            "summary": "Chilly"
        },
        // ..
    ]
    

Valinnainen: Tutustu ohjelmointirajapintoihin komentorivin HTTP REPL -komennolla

  1. Avaa uusi integroitu päätteen Visual Studio Codesta valitsemalla päävalikosta Terminal>New Terminal ja suorittamalla sitten seuraava komento:

    dotnet tool install -g Microsoft.dotnet-httprepl
    

    Edellinen komento asentaa .NET HTTP Read-Eval-Print Loop (REPL) -komentorivityökalun, jota käytät HTTP-pyyntöjen tekemiseen www-ohjelmointirajapintaan.

  2. Muodosta yhteys WWW-ohjelmointirajapintaan suorittamalla seuraava komento:

    httprepl https://localhost:{PORT}
    

    Vaihtoehtoisesti voit suorittaa seuraavan komennon milloin tahansa HttpRepl suoritettaessa:

    connect https://localhost:{PORT}
    

    Juomaraha

    Jos HttpRepl-työkalu varoittaa OpenAPI-kuvausta ei löydy, todennäköisin syy on ei-luotettu kehitysvarmenne. HttpRepl edellyttää luotettua yhteyttä. Ennen kuin voit jatkaa, sinun täytyymäärittää järjestelmäsi luottamaan kehitysvarmenteeseendotnet dev-certs https --trust

  3. Tutustu käytettävissä oleviin päätepisteisiin suorittamalla seuraava komento:

    ls
    

    Edellinen komento tunnistaa kaikki yhdistetyssä päätepisteessä käytettävissä olevat ohjelmointirajapinnat ja luettelee ne seuraavassa tulosteessa esitetyllä tavalla:

    https://localhost:{PORT}/> ls
    .                 []
    WeatherForecast   [GET] 
    
  4. Siirry WeatherForecast päätepisteeseen suorittamalla seuraava komento:

    cd WeatherForecast
    

    Edellä oleva komento näyttää käytettävissä olevien ohjelmointirajapintojen tuloksen WeatherForecast päätepisteelle:

    https://localhost:{PORT}/> cd WeatherForecast
    /WeatherForecast    [GET]
    
  5. Tee GET-pyyntö HttpRepl käyttämällä seuraavaa komentoa:

    get
    

    Edellä oleva komento tekee GET pyynnön, joka muistuttaa selaimen päätepisteeseen menemista:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    Date: Fri, 02 Apr 2021 17:31:43 GMT
    Server: Kestrel
    Transfer-Encoding: chunked
    [
        {
        "date": 4/3/2021 10:31:44 AM,
        "temperatureC": 13,
        "temperatureF": 55,
        "summary": "Sweltering"
        },
        {
        "date": 4/4/2021 10:31:44 AM,
        "temperatureC": -13,
        "temperatureF": 9,
        "summary": "Warm"
        },
        // ..
    ]
    
  6. Lopeta nykyinen HttpRepl-istunto käyttämällä seuraavaa komentoa:

    exit
    
  7. Palaa dotnet-päätteeseen Visual Studio Coden avattavassa luettelossa. Sammuta www-ohjelmointirajapinta valitsemalla näppäimistöltä CTRL + C.

Nyt kun olet luonut www-ohjelmointirajapinnan, voimme muokata sitä pizzaverkko-ohjelmointirajapinnan tarpeiden mukaan.