Ja, das ist möglich, weil REST auf einem sehr abstrakten und flexiblen Ressourcenkonzept beruht. Solange die Schnittstelle der einheitlichen Schnittstelle gehorcht (Standardmethoden, URIs, etc), können Sie alles Sie hinter den Kulissen tun. Einer der besten Gründe, um eine HTTP-Schnittstelle zu etwas zu machen, ist es, hässliche Implementierungsdetails zu verstecken und nur eine solche einheitliche Schnittstelle zu präsentieren.
Genau wie Sie das tun in Ihrer Sprache oder Umgebung der Wahl eine weit detailliertere Frage, aber die Grundlagen wäre so etwas wie dieses CherryPy Pseudo-Code sein:
class Table:
exposed = True
def __init__(self, tablename):
self.tablename = tablename
def PUT(self):
fields = parse_fields(cherrypy.request.body.read())
db.execute("CREATE TABLE %s (%s)" % (self.tablename, fields))
def DELETE(self):
db.execute("DROP TABLE %s" % self.tablename)
class Tables:
def _cp_dispatch(self, vpath):
return Table(vpath.pop(0))
Sie werden am verkabeln müssen die 'db'-Verbindungslogik selbst und herauszufinden, wie viel Kontrolle der Client über die Felddefinitionen haben sollte (und welcher Medientyp am besten ist, um dies zu kommunizieren, und wie dieser Medientyp für die CREATE TABLE-Anweisung in gültiges SQL zu parsen ist). Sie wollen auch viel bessere Sicherheit als "DROP TABLE {Benutzereingabe}";) Aber hoffentlich bringt Sie das auf den richtigen Weg.
ist es möglich ... ABER: was genau hast du probiert? was ist dein Ziel ? was funktioniert nicht? – Yahia
Mein Ziel ist es, einen Dienst zu erstellen, mit dem ich dynamisch Tabellen erstellen kann und jede Tabelle wird wiederum als Ressource verwendet. Lassen Sie mich ein Beispiel geben Sagen wir, ich möchte eine Berichtsdaten-Datenbank erstellen. Viele Kunden pushen Daten hinein und jeder hat seine eigene Tabelle. jetzt, wenn ein neuer Client auftaucht, muss eine neue Tabelle im laufenden Betrieb erstellt werden, und er kann Daten dorthin schieben. Hast du einen Kern davon? lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Vielen Dank! – mssrivatsa
ok ... und: was hast du probiert? was funktioniert nicht? – Yahia