Documente Academic
Documente Profesional
Documente Cultură
Laborator nr. 11
Servicii Web RESTful
Laboratorul curent vă propune familiarizarea cu pachetul python Flask [1] pentru dezvoltarea unui serviciu Web RESTful
([2] – capitolul 5: "Representational State Transfer (REST)") simplist. Acest model de dezvoltare a serviciilor Web se axează
fundamental pe conceptul de resursă - componentă abstractă, identificabilă în mod unic prin intermediul unei adrese URI [3],
asupra căreia se poate opera cu un set restrâns de primitive fundamenale, s, i anume:
Create resursa (sau o reprezentare a acesteia) se crează atunci când este necesar;
Read resursa (sau o reprezentare a acesteia) poate fi citită atunci când este nevoie;
Update resursa (sau o reprezentare a acesteia) poate fi actualizată la nevoie (implică s, i procesarea de date);
Delete resursa (sau o reprezentare a acesteia) trebuie s, tearsă când devine inactivă.
Dezvoltarea unui astfel de serviciu Web presupune, de fapt, modelarea funct, ionalităt, ii metodelor caractersitice protocolului
HTTP [4] peste cele 4 primitive ment, ionate anterior. Astfel, funct, ionalitatea serviciului va fi descrisă în termeni de operat, ii
efectuate asupra resurselor gestionate de o astfel de aplicat, ie. Corelarea dintre metodele caracteristice HTTP s, i primitivele
CRUD fundamentale este următoarea:
POST actualizarea unei resurse existente, crearea unei resurse noi sau procesarea unui set de date;
GET citirea unei resurse existente;
PUT crearea unei resurse noi, sau înlocuirea uneia existente;
DELETE s, tergerea unei resurse existente.
Aplicat, ie propusă
Pornind de la exemplul prezentat în [5], creat, i un serviciu RESTful simplu care permite gestionarea unui set de fis, iere cont, inut
într-un director. Se doresc următoarele funt, ionalităt, i:
Bibliografie
[1] Pallets Projects. Flask. https://flask.palletsprojects.com/en/1.1.x/.
[2] Roy Thomas Fielding. Architectural styles and the design of network-based software architectures. http://www.ics.uci.
edu/~fielding/pubs/dissertation/rest_arch_style.htm, 2000.
[3] Berners-Lee T. and Fielding R. and Masinter L. RFC 3986: Uniform Resource Identifier(URI): Generic Syntax. https:
//tools.ietf.org/html/rfc3986.
1/2
Universitatea Tehnică „Gheorghe Asachi” din Ias, i Dept.: Calculatoare s, i Tehnologia Informat, iei
Facultatea de Automatică s, i Calculatoare Studii universitare de masterat – SSC an I
Internet of Things
[4] Fielding R. and Reschke J. RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. https://tools.
ietf.org/html/rfc7231.
[5] Saravanan Subramanian. RESTful Web Services With Python Flask. https://dzone.com/articles/restful-web-services-with-
python-flask.
2/2