Alıştırma - Web API'si projesi oluşturma

Tamamlandı

Contoso pizza adlı bir pizza şirketinin bir çalışanımız Imagine. Yöneticiniz, şirketin web storefront için bir önkoşul olarak bir Restalsuz bir bir bir pizza envanter yönetimi hizmeti geliştirmenizi istedi. Hizmetin, pizza türlerini ekleme, görüntüleme, değiştirme ve kaldırma desteği, — C oluştur, R EAD, U pdate, D Sil (CRUD) olarak bilinen http Eylem fiillerinin standartlaştırılmış bir kullanımı ile daha iyi bir şekilde kullanılmasını destekler.

.net clı, ASP.NET Core web apı 'si oluşturmanın en kolay yoludur. .NET SDK 'Yı yüklediğinizde CLı önceden yüklenir.

Bu birimde, bir Web API 'sini yerel olarak oluşturmak için .NET CLı kullanacaksınız. Ayrıca, sonuçta elde edilen projeyi de anlayacaksınız.

Web API'si projesi oluşturma ve keşfetme

Bir .NET projesini web API'si ile çalışacak şekilde ayarlamak için Visual Studio Code. Visual Studio Code, tümleşik terminali sayesinde yeni proje oluşturmayı kolaylaştırır. Farklı bir kod düzenleyicisi kullanmak istemiyorsanız bu modüldeki komutları terminalde çalıştırabilirsiniz.

  1. Visual Studio Code'da Dosya > Klasör Aç'ı seçin.

  2. İstediğiniz konumda ContosoPizza adlı yeni bir klasör oluşturun ve ardından Klasör Seç'e tıklayın.

  3. Visual Studio Code'da ana menüden Görünüm > Terminal'i seçerek tümleşik terminali açın.

  4. Aşağıdaki komutu kopyalayıp terminal penceresine yapıştırın.

    dotnet new webapi --no-https
    

    Bu komut, hava durumu tahminlerinin listesini dönecek ContosoPizza.csproj adlı bir C# proje dosyasıyla birlikte temel bir web API'si projesinin dosyalarını oluşturur.

    bayrağı, --no-https yerel geliştirme için işleri mümkün olduğunca basit tutmak için HTTPS sertifikası olmadan çalıştıracak bir uygulama oluşturur.

    Önemli

    Web API'leriyle herhangi bir üretim çalışması yapmadan önce ve kesinlikle üretime dağıtmadan önce https geliştirme ASP.NET Core yapılandırmanız gerekir. Bu, API iletişimlerinizi gizli tutmaya ve ortadaki adam saldırılarına karşı koruma sağlar.

    Proje hata ayıklamak için Visual Studio Code eklemek için bir istem alırsınız. İletişim Yes kutusuna tıklayın.

    Komut, C# ASP.NET Core web API'si projesinin iskelesini oluşturmak için diğer adı olan bir proje webapi şablonu kullanır. ContosoPizza.NET üzerinde çalışan bir ASP.NET Core içeren bir dizin oluşturulur. Proje adı ContosoPizza dizin adıyla eşleşir.

    Artık bu dosyalara erişiminizin olması gerekir.

    -| Controllers
    -| obj
    -| Properties
    -| appsettings.Development.json
    -| appsettings.json
    -| ContosoPizza.csproj
    -| Program.cs
    -| Startup.cs
    -| WeatherForecast.cs
    

    Yukarıdaki komut, C# ASP.NET Core web API'si projesinin iskelesini oluşturmak için diğer adı olan bir proje webapi şablonu kullanır. ContosoPizza.NET üzerinde çalışan bir ASP.NET Core içeren bir dizin oluşturulur. Proje adı ContosoPizza dizin adıyla eşleşir.

  5. Şu dosya ve dizinleri inceleyin:

    Ad Açıklama
    Controllers/ Genel yöntemleri HTTP uç noktaları olarak ortaya konan sınıflar içerir.
    Program.cs Main yöntemini (uygulamanın yönetilen giriş noktası) içerir.
    Startup.cs Hizmetleri ve uygulamanın HTTP isteği işlem hattını yapılandırır.
    ContosoPizza.csproj Projenin yapılandırma meta verilerini içerir.

Web API'sini derleme ve test edin

  1. Uygulamayı derlemek için aşağıdaki komutu çalıştırın:

    dotnet build
    
  2. Komut kabuğunda aşağıdaki .NET Core CLI komutunu çalıştırın:

    dotnet run
    

    Yukarıdaki komut:

    • ASP.NET Core'un Kestrel web sunucusuyla web API'sini barındırır.
    • Çalışan web API'sinde günlük bilgilerini çıkış olarak gösterir.

    Web API'si her ikisinde de http://localhost:5000 barındırıldı. bayrağını geçene --no-https kadar API'nin üzerinde de çalıştırıla olacağını https://localhost:5001 görebiliriz.

    Önemli

    Beklenmeyen bir davranışla karşılaşırsanız terminal çıkışını kontrol edin. Derleme başarısız olursa veya başka hatalar oluşursa günlük dosyasındaki bilgiler sorunu gidermeye yardımcı olur. Kodda değişiklik yaparak klavyeye basarak ve komutu yeniden çalıştırarak web API'sini CTRL+C durdurmamız dotnet run gerekir.

    Gelecekte yalnızca komutunu kullanacağız çünkü bu komut herhangi bir değişiklik olursa dotnet run projemizi de derlemeye devam edeceğiz.

  3. Bir web tarayıcısı açın ve şu sayfaya gidin:

    http://localhost:5000/weatherforecast
    

    Aşağıdaki çıkış, döndürülen JSON'un bir alıntısını temsil eder:

    [
      {
        "date": "2021-02-12T20:36:01.4678814+00:00",
        "temperatureC": 33,
        "temperatureF": 91,
        "summary": "Scorching"
      },
      {
        "date": "2021-02-13T20:36:01.4682337+00:00",
        "temperatureC": -8,
        "temperatureF": 18,
        "summary": "Cool"
      },
      // ...
    ]
    
  4. Ana menüden Terminal Yeni Terminal'Visual Studio Code seçerek yeni bir tümleşik terminal açın ve aşağıdaki komutu > çalıştırın:

      dotnet tool install -g Microsoft.dotnet-httprepl
    

    Yukarıdaki komut, web API'mize HTTP istekleri yapmak için kullanabileceğimiz .NET HTTP Read-Eval-Print Loop (REPL) komut satırı aracını yükledi.

  5. Bağlan komutunu çalıştırarak web API'mize bağlantı gerçekleştirin:

    httprepl http://localhost:5000
    

    Alternatif olarak, HttpRepl çalışırken herhangi bir zamanda aşağıdaki komutu çalıştırın:

    Örnek:

    (Disconnected)> connect http://localhost:5000
    
  6. Aşağıdaki komutu çalıştırarak kullanılabilir uç noktaları keşfedin:

    ls
    

    Yukarıdaki komut, bağlı uç noktada kullanılabilen tüm API'leri algılar. Aşağıdakini görüntülemesi gerekir:

    http://localhost:5000/> ls
    .                 []
    WeatherForecast   [GET] 
    
  7. Aşağıdaki komutu çalıştırarak WeatherForecast uç noktasına gidin:

    cd WeatherForecast
    

    Aşağıdaki komut uç nokta için kullanılabilir API'leri çıkış olarak WeatherForecast sağlar:

    http://localhost:5000/> cd WeatherForecast
    /WeatherForecast    [GET]
    
  8. Aşağıdaki komutu GET kullanarak HttpRepl içinde bir istek yapın:

    get
    

    Aşağıdaki komut, GET tarayıcıda uç noktasına giderek benzer bir istekte olacaktır:

    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"
      },
      // ..
    ]
    
  9. Aşağıdaki komutu kullanarak geçerli HttpRepl oturumundan çıkın:

    exit
    
  10. Aşağıdaki listede dotnet yer alan açılan listede terminale Visual Studio Code klavyenize basarak web API'sini CTRL+C kapatın.

Web API'si oluşturulduktan sonra pizza web API'mizin ihtiyaçlarını karşılayacak şekilde değiştirebiliriz.