RESTful API - ASP.
NET Core
Gabriel Bogdan Rosu
gbrosu@[Link]
Agenda
• Ce este HTTP?
• Ce este REST?
• Ce este [Link] Web API?
• Structura RESTful API
• Routing
• Controllers
• Models
• Data Access
• Resurse
HTTP
• Hypertext Transfer Protocol (HTTP) este folosit pentru comunicarea client server.
• HTTP lucreaza pe protocolul request-response dintre client si server.
• Orice browser poate fi client, serverul fiind o aplicatie hostata pe un calculator.
• Metoda GET – cere date de la o resursa specificata
• Metoda POST – submiteaza date spre procesare catre o resursa specificata
• Metoda PUT - submiteaza date catre un URI
• Metoda DELETE – sterge resursa speficata
Ce e REST?
• Representational State Transfer
• Se bazeaza pe protocoale de comunicatii stateless, client-server, cacheable (HTTP)
• REST and un stil de arhitectura pentru aplicatii network. In loc de folosirea unor mecanisme
complexe cum ar fi CORBA, RPC sau SOAP, functiile simple HTTP se folosesc pentru a face
call-uri intre masini
• De fapt World Wide Web care este bazat pe HTTP, poate fi vazut ca o arhitectura REST
• REST foloseste HTTP pentru operatiile CRUD
• In REST exista pantru concepte care descriu actiunile si starea informatiilor: Resurse, URI,
Reprezentare (XML, HTML, JSON, RSS) , Link
De ce sa folosim REST
• Independent de platforma
• Independent de limbajul de programare
• Standardizare prin folosirea functiilor HTTP
• Human readable si mai usor testabil – se poate testa din browser
• Nu este afectat de Firewall deoarece se bazeaza pe HTTP
Ce e [Link] Web API
• [Link] Web API este un framework pentru realizarea de servicii
HTTP disponibile pentru o gama larga de aplicatii client.
• Este o plaforma puternica pentru construirea de servicii RESTful
• Foloseste verbe HTTP: GET,POST,PUT and DELETE (pentru maparea
prin conventia a actiunilor) cat si url-uri, request/response headers,
caching, content formats
• Raspunsurile au Accept header si HTTP status code
[Link] framework si Web Api Life Cycle
Structura RESTfull API
Resursa Verb HTTP Metoda HTTP
Product Create Product POST /products/ • Routes
Update Product PUT /products/12
Delete Product DELETE /products/12
• Models
GetById Product GET /products/12 • Controllers
GetAll Products GET /products • Data Access
Resurse
• Site official: [Link]
• REST:http
://[Link]/Articles/253944/Representational-State-Transfer-A-Short-Wa
lkthroug
, [Link]
• Web api:
[Link]
-2.2&tabs=visual-studio
• Tutoriale video: [Link]
• Postman ([Link] – http client
• Google e prietenul tau – exemple, tutoriale, templates