Создать RESTful API для управления базой данных сущностей.

RESTful API для управления базой данных

Задание: Создать RESTful API для управления базой данных сущностей. API должен позволять создавать, читать, обновлять и удалять записи.

from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///entities.db'
db = SQLAlchemy(app)

class Entity(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True, nullable=False)

    def to_dict(self):
        return {"id": self.id, "name": self.name}

@app.route('/entities', methods=['POST'])
def create_entity():
    data = request.get_json()
    entity = Entity(name=data['name'])
    db.session.add(entity)
    db.session.commit()
    return jsonify(entity.to_dict()), 201

@app.route('/entities', methods=['GET'])
def get_entities():
    entities = Entity.query.all()
    return jsonify([e.to_dict() for e in entities])

@app.route('/entities/', methods=['GET'])
def get_entity(id):
    entity = Entity.query.get_or_404(id)
    return jsonify(entity.to_dict())

@app.route('/entities/', methods=['PUT'])
def update_entity(id):
    entity = Entity.query.get_or_404(id)
    data = request.get_json()
    entity.name = data['name']
    db.session.commit()
    return jsonify(entity.to_dict())

@app.route('/entities/', methods=['DELETE'])
def delete_entity(id):
    entity = Entity.query.get_or_404(id)
    db.session.delete(entity)
    db.session.commit()
    return '', 204

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

Результат выполнения кода

RESTful API успешно запущен на localhost.

Этот код реализует базовый RESTful API с использованием Flask и SQLAlchemy для управления сущностями в базе данных. API поддерживает операции CRUD: создание, чтение, обновление и удаление.

Категория: Практические упражнения Python | Добавил: Admin (03.05.2024)
Просмотров: 103 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: