RESTは非常に抽象的で柔軟性の高いリソースの概念に依存しているため、可能です。インターフェイスが均一なインターフェイス(標準のメソッド、URIなどを使用して)に従う限り、何かの背後に好きです。 HTTPインターフェイスを何かにする最も良い理由の1つは、醜い実装の詳細を隠し、そのような一様なインターフェイスだけを提示することです。
まさにあなたがどのようにはるかに詳細な質問ですが、基本はこのCherryPyに擬似コードのようなものになるだろう選択した言語や環境にいること:
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))
あなたがアップ配線する必要があります'db'接続ロジックを自分で調べ、クライアントがフィールド定義(どのメディアタイプがそれを伝えるのが最も良いか、そしてそのメディアタイプを構文解析してCREATE TABLEステートメントの有効なSQLにパースする方法)に対するコントロールの程度を把握します。 多くの場合、のセキュリティは「DROP TABLE {ユーザー入力}」よりも安全です。)しかし、うまくいけば、これは正しい軌道に乗ります。
可能ですが、正確に何を試しましたか?あなたの目標は何ですか ?何がうまくいかないの? – Yahia
私の目標は、テーブルを動的に作成し、各テーブルをリソースとして順番に使用できるサービスを作成することです。例を挙げましょうレポートデータデータベースを作成したいとします。多くのクライアントがデータをプッシュし、それぞれに独自のテーブルがあります。新しいクライアントが登場すると、その場で新しいテーブルを作成しなければならず、そのテーブルにデータをプッシュできます。あなたはそれの要点を得ましたか?私はいくつかの詳細が必要な場合はお知らせください。ありがとう! – mssrivatsa
ok ... and:何を試しましたか?何がうまくいかないの? – Yahia