Alıştırma - Web API'si projesi oluşturma
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.
Visual Studio Code'da Dosya > Klasör Aç'ı seçin.
İstediğiniz konumda ContosoPizza adlı yeni bir klasör oluşturun ve ardından Klasör Seç'e tıklayın.
Visual Studio Code'da ana menüden Görünüm > Terminal'i seçerek tümleşik terminali açın.
Aşağıdaki komutu kopyalayıp terminal penceresine yapıştırın.
dotnet new webapi --no-httpsBu 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-httpsyerel 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
Yeskutusuna 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.csYukarı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.
Ş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 Mainyö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
Uygulamayı derlemek için aşağıdaki komutu çalıştırın:
dotnet buildKomut kabuğunda aşağıdaki .NET Core CLI komutunu çalıştırın:
dotnet runYukarı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:5000barındırıldı. bayrağını geçene--no-httpskadar API'nin üzerinde de çalıştırıla olacağınıhttps://localhost:5001gö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+Cdurdurmamızdotnet rungerekir.Gelecekte yalnızca komutunu kullanacağız çünkü bu komut herhangi bir değişiklik olursa
dotnet runprojemizi de derlemeye devam edeceğiz.Bir web tarayıcısı açın ve şu sayfaya gidin:
http://localhost:5000/weatherforecastAş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" }, // ... ]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-httpreplYukarı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.
Bağlan komutunu çalıştırarak web API'mize bağlantı gerçekleştirin:
httprepl http://localhost:5000Alternatif olarak, HttpRepl çalışırken herhangi bir zamanda aşağıdaki komutu çalıştırın:
Örnek:
(Disconnected)> connect http://localhost:5000Aşağıdaki komutu çalıştırarak kullanılabilir uç noktaları keşfedin:
lsYukarı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]Aşağıdaki komutu çalıştırarak WeatherForecast uç noktasına gidin:
cd WeatherForecastAşağıdaki komut uç nokta için kullanılabilir API'leri çıkış olarak
WeatherForecastsağlar:http://localhost:5000/> cd WeatherForecast /WeatherForecast [GET]Aşağıdaki komutu
GETkullanarak HttpRepl içinde bir istek yapın:getAşağıdaki komut,
GETtarayı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" }, // .. ]Aşağıdaki komutu kullanarak geçerli HttpRepl oturumundan çıkın:
exitAşağıdaki listede
dotnetyer alan açılan listede terminale Visual Studio Code klavyenize basarak web API'siniCTRL+Ckapatın.
Web API'si oluşturulduktan sonra pizza web API'mizin ihtiyaçlarını karşılayacak şekilde değiştirebiliriz.
Yardıma mı ihtiyacınız var? Sorun giderme kılavuzumuza gözatın veya sorun bildirerek belirli bir konuda geri bildiriminizi paylaşın.