CRUD se refera la
- create
- read
- update
- delete
Toate aplicatiile care au in spate o baza de date fac aceste actiuni cu datele pe care le primesc
REST vine de la Representational State Transfer si se refera la un stil arhitectural de realizare al serviciilor web. Defineste si constrangeri
Rest se foloseste de protocolul HTTP si de verbele acestuia, GET, POST, PUT, DELETE. Mai multe despre REST poti gasi (destul de abstract probabil) in teza lui Roy Fielding
Intr-un api rest poti accesa o resursa prin url, ca si cum ai accesa o pagina web. Datele sunt, in cele mai multe cazuri in format json, dar se mai foloseste si xml.
Ideea REST-ului este de a folosi mecanismele pe care un browser le foloseste cum ar fi:
- protocolul http si mai nou https
- ideea de header
- content negotiation
precum si altele
Rolul serviciilor web (si al unui api rest) este de a asigura ceva ce se cheama interoperabilitate intre doua aplicatii diferite care pot rula in medii diferite scrise in limbaje de programare diferite.
Un api rest este o metoda simpla pt a realiza acest lucru. Mi sunt si servicii web soap based precum si altele mai complicate si mai urate. Este o intreag teorie despre acest lucru
PDO este o extensie pt acces la orice baza de date (sql server, mysql, postgre) si cel putin in php cica este recomandat sa folosesti pdo. Are multe beneficii
Acele tutoriale iti arata cum sa te conectezi la o baza de date, sa faci query-uri si s expui raspunsul in format json. In php exista functiile json_encode
si json_decode
.
O alta aplicatie poate consuma api-ul tau.
Forumul acesta foloseste platorma Discourse. Partea de prezentare (interfata) este realizata cu EmberJS caare consuma un json sevit din backend. Poti vedea acest lucru daca te deconectezi de la internet. Daca vei incerca sa intri pe forum ar trebui sa primesti o eroare care specifica, ca nu s-a putut incarca “https://devforum.ro/latest.json?order=default”
Acest json este consumat de front-endul aplicatie care iti randeaza interfata forumului. Cu thread-uri, butoane de like, raspuns, etc. Exact ce vezi pe monitor
Desi nu stiu daca este chiar un api (nu stiu cum lucreaza Discourse) cred ca este un exemplu cat de cat ok pt a intelege.
Sper ca abereala mea te-a ajutat cat de cat sa intelegi despre ce este vorba
Un alt exemplu de aplicatie care consuma un api rest este aceasta Este facuta de mine si consuma un api-ul APIXU pt informatii meteo. Am facut-o cu vue, desi nu prea se vede :))
Ca exercitiu poti sa faci un mic api. Cu operatiile de mai sus. Cauta un tutorial pe crae il intelegi si spor la treaba. Aditional, poti incerca sa faci o aplicatie cu care sa il consumi (sau un site)
Keep it simple for now
Succes !
Daca mai ai intrebari acum sau pe parcurs, baga mare