В настоящее время я работаю над приложением javascript (на основе реакции), которое в основном отображает данные из некоторых таблиц базы данных и позволяет добавлять, удалять и обновлять данные из таблиц. Я реализовал службы для доступа к базе данных с помощью Flask и SQLAlchemy, пытаясь следовать спецификации REST (больше как ориентир, чем «догма», поскольку я не делюсь своим API через inte rnet).
Я хочу реализовать веб-сервис, который описывает каждую таблицу: возьмем таблицу ниже
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
Я хочу такую вещь:
GET / user / description
Ответ: что-то вроде
[
{column_name: 'id', type: 'int' , p_key: 'True'},
{column_name: 'username', type: 'string'},
{column_name: 'email', type: 'string'}
]
(плюс другие полезные метаданные для клиента, желающего вставить или обновить данные)
Я хотел бы знать, есть ли такая операция в спецификации REST, а если нет, то где я могу найти рекомендации по реализации такой службы (что можно и чего нельзя) - я бы предпочел не изобретать велосипед для чего-то, что мне кажется довольно распространенной проблемой в программировании.