Middle
Kādi ir REST principi?
sobes.tech AI
Atbilde no AI
REST principi ir šādi:
- Klienta-servera arhitektūra (Client-Server): Klients (pakalpojuma lietotājs) un serveris (pakalpojuma sniedzējs) ir sadalīti pēc pienākumiem. Tas veicina klienta koda pārnesamību un servera mērogojamību.
- Bez stāvokļa (Stateless): Katrs pieprasījums no klienta satur visu nepieciešamo informāciju serverim, lai izpildītu šo pieprasījumu. Servers neuzglabā klienta stāvokli starp pieprasījumiem.
- Kešatmiņošana (Cacheable): Servers var skaidri norādīt, vai dati var tikt kešoti klienta vai starpslāņa līmenī. Tas uzlabo veiktspēju un mērogojamību.
- Vienota saskarne (Uniform Interface): svarīgākais princips, kas ietver četras sadaļas:
- Resursu identifikācija (Identification of resources): Resursi tiek identificēti ar unikāliem URI.
- Resursu manipulācija ar reprezentācijām (Manipulation of resources through representations): Klients sadarbojas ar resursiem, saņemot to reprezentācijas (piemēram, JSON vai XML formātā) un sūtot jaunas reprezentācijas resursa stāvokļa maiņai.
- Pašaprakstījošas ziņas (Self-descriptive messages): Katra ziņa satur pietiekami daudz informācijas, lai saņēmējs saprastu, kā to apstrādāt. Tiek izmantotas standarta HTTP galvenes.
- Hipermedija kā lietojumprogrammas stāvokļa dzinējs (HATEOAS): Klients jāatrod informācija par pieejamām darbībām un iespējamiem pārejām starp stāvokļiem no hipermediju saitēm, kas ir iekļautas resursu reprezentācijās.
- Slāņota sistēma (Layered System): Sistēma var būt organizēta ar starpslāņiem (piemēram, starpnieki, kešatmiņas, vārti), caur kuriem iet pieprasījumi un atbildes. Klients nezina, vai tas tieši sadarbojas ar galapunkta serveri vai caur starpslāņiem.
- Kods pēc pieprasījuma (Code on Demand - izvēles): Servers var pagaidu paplašināt klienta funkcionalitāti, pārsūtot izpildāmo kodu (piemēram, JavaScript). Šis princips nav obligāts REST atbilstībai.