Sari la conținutul principal

Pregătirea unui proiect

Pentru a vă ajuta în implementarea proiectului de la laborator, puteți utiliza scheletul proiectului .NET disponibil pe GitLab. Cu toate acestea, pentru a începe, vom crea un proiect de backend în IDE-ul preferat, selectând un template pentru .NET Core de Web API, după cum se arată mai jos.

Visual studio

img img img

Rider

img

Observați că punctul de intrare în program este fișierul Program.cs. Dacă nu s-a selectat "Do not use top-level statements", aici nu va apărea o clasa cu o funcție main statică, dar va exista implicit. Aici se creează un obiect care reprezintă aplicația web și poate fi configurat, cum este exemplificat în configurarea pentru autorizare, maparea controllerelor sau configurarea Swagger. Aceste aspecte vor fi detaliate mai mult în laboratoarele viitoare.

img

În limbajul C#, un proiect este creat în cadrul unei soluții. Soluția gestionează mai multe proiecte și poate fi utilizată pentru a menține referințe între ele. De exemplu, puteți reutiliza clase comune între diferite proiecte de backend prin intermediul unei biblioteci partajate referențiate de amândouă.

Veți găsi și un fișier appsettings.json, care conține un JSON pentru configurarea aplicației. Acesta va fi utilizat pentru a seta variabilele folosite de backend. În plus, veți găsi un controller foarte simplu care va răspunde la cererile HTTP de la clienți. Este important să rețineți că în dezvoltarea de aplicații web se folosește frecvent Dependency Injection. Deși acest concept va fi detaliat mai mult în laboratoarele următoare, puteți observa în cod faptul că nu sunt instanțiate în mod explicit componentele sau clasele din proiect (ca de exemplu WeatherForecastController). Instanțierea se face implicit de către framework, calculând dependențele componentei și injectându-le în componentă la instanțiere prin constructor, cum se întâmplă și cu logger-ul din exemplul dat.

Rulați aplicația de backend, iar în browser va fi deschisă o pagină cu Swagger, sau cu denumirea sa alternativă, OpenAPI Specification. Swagger-ul este o interfață simplă pentru testarea cererilor HTTP, fără a fi nevoie de un client HTTP. De asemenea, descrie întregul API HTTP al serverului, inclusiv rutele și tipurile de date schimbate cu clientul. Încercați să executați o cerere către backend direct din pagina Swagger-ului. Această facilitate este importantă deoarece ușurează testarea backend-ului și descrie modul în care API-ul poate fi folosit, permițând generarea automată a clienților HTTP pentru aplicațiile care consumă API-ul expus.

img

Pentru a crea un backend, este important să acumulați cunoștințele necesare. Acestea vor fi expuse treptat în următoarele secțiuni.

Sarcini de laborator

Instalați uneltele necesare pentru laborator și cereți ajutor dacă întâmpinați dificultăți.

Urmați codul din WeatherForecastController și încercați să-l modificați mergând pe intuiție și testând cu Swagger. Dacă aveți întrebări, adresați-le asistentului / asistentei. Mai multe informații vor fi furnizate în laboratoarele următoare.

Descărcați template-ul de proiect de pe GitLab-ul grupului nostru și încercați să parcurgeți codul, folosind explicațiile din comentarii. Nu este necesar pentru acest laborator, dar puteți să-l folosiți ca punct de plecare pentru proiectul de la laborator.

sugestie

Dacă sunteți interesați de capacitățile .NET, accesați NuGet și explorați pachetele pentru C#. NuGet este un manager de pachete care oferă o gamă largă de biblioteci ce pot fi instalate în proiecte. Pentru Visual Studio, accesați Tools > NuGet Package Manager > Manage NuGet Package for Solution..., iar pentru Rider, accesați Tools > NuGet > Manage NuGet Package for Solution.

notă

Dacă lucrați cu .NET10 nu aveți implicit Swagger. Pentru a-l adăuga doar trebuie să adaugați biblioteca Swashbuckle.AspNetCore.SwaggerUI și trebuie configurată aplicația:

app.UseSwaggerUI(e => e.SwaggerEndpoint("/openapi/v1.json", "AppName"));

Și ca să lansați aplicația la rulare direct cu swagger, setați în launchSettings.json câmpurile launchBrowser și launchUrl:

{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5015",
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}