Sobes.tech
Middle — Senior

Jak zaprojektowałeś system, korzystając z zasad architektury RESTful?

sobes.tech AI

Odpowiedź od AI

Projektując system z wykorzystaniem zasad architektury RESTful w Pythonie, stosuję się do podstawowych zasad:

  • Zorientowanie na zasoby: każda jednostka systemu jest reprezentowana jako zasób z unikalnym URI.
  • Użycie standardowych metod HTTP: GET do pobierania danych, POST do tworzenia, PUT/PATCH do aktualizacji, DELETE do usuwania.
  • Kody statusu HTTP: poprawne użycie kodów odpowiedzi odzwierciedlających wynik operacji (np. 200, 201, 404, 400, 500).
  • Bezstanowość (stateless): serwer nie przechowuje stanu klienta między żądaniami.
  • Użycie formatów danych takich jak JSON do wymiany informacji.

Przykład z Flask:

from flask import Flask, jsonify, request

app = Flask(__name__)

items = {}

@app.route('/items/<int:item_id>', methods=['GET'])
def get_item(item_id):
    item = items.get(item_id)
    if item:
        return jsonify(item), 200
    else:
        return jsonify({'error': 'Nie znaleziono'}), 404

@app.route('/items', methods=['POST'])
def create_item():
    data = request.get_json()
    item_id = len(items) + 1
    items[item_id] = data
    return jsonify({'id': item_id}), 201

if __name__ == '__main__':
    app.run()

Takie podejście zapewnia prostotę, skalowalność i kompatybilność z klientami.