Sobes.tech
Junior — Middle

Kas yra REST ir kaip nustatyti, ar funkcija atitinka RESTful API principus?

sobes.tech AI

Atsakymas iš AI

REST (Atstovaujamojo būsenos perdavimas) — architektūros stilius, skirtas kurti žiniatinklio paslaugas, pagrįstas standartinių HTTP metodų naudojimu ir išteklių sąveikos principais.

Pagrindinės RESTful API savybės:

  • HTTP metodų naudojimas pagal jų paskirtį:

    • GET — gauti išteklių
    • POST — sukurti išteklių
    • PUT/PATCH — atnaujinti išteklius
    • DELETE — ištrinti išteklių
  • Ištekliai identifikuojami per URL (pavyzdžiui, /users/123 — naudotojas su ID 123).

  • Be būsenos (stateless): kiekvienas užklausas turi turėti visas reikalingas informacijas.

  • Naudojami standartiniai HTTP atsakymo kodai.

  • Galimybė atvaizduoti išteklius įvairiais formatais (JSON, XML ir kt.).

Pavyzdys Flask funkcijos, atitinkančios REST:

from flask import Flask, jsonify, request
app = Flask(__name__)

naudotojai = {"1": {"vardas": "Alice"}}

@app.route('/users/<user_id>', methods=['GET'])
def get_user(user_id):
    naudotojas = naudotojai.get(user_id)
    jei naudotojas:
        return jsonify(naudotojas), 200
    kitaip:
        return jsonify({"klaida": "Naudotojas nerastas"}), 404

Ši funkcija apdoroja GET užklausą naudotojo ištekliui ir grąžina duomenis arba klaidą, kas atitinka REST principus.