2011-10-28 6 views
4

REST APIの何がクライアントとDBの間の制御されたインターフェイスとして機能しているのか99%ですが、私の人生にとってはまさにそのようなライブラリを見つけることはできません。ACL付きMySQL DBの残りのインターフェイス

すべてのライブラリは開発者にRESTインターフェイスを提供することに焦点を当て、開発者は開発者とデータベースとの通信を設定します。すでにデータベースとインターフェースをとっているライブラリを作成するのは簡単ではないようです。開発者はACLルールをいくつか定義して、そこにいくつかのロジックを組み込む必要があります。

私はこの種のライブラリを実際に作成することで、自分の考えを行動に移す前に、そのテーマに関する知識を持っている人に尋ねることができます。誰もこれのようなものをまだ実装していますか?私は車輪を再発明するだろうか?

私はPHPベースのソリューションについて厳密に話していますが、私は他の言語に対して何も持っていません。PHPは単に私のお茶です。しかし、私は他の言語の実装も見つけられていません。

とケースに私の説明では、これは私がしたいと思うものを本質的に、それは非常に明確にしていません:彼らの入力と謝罪を与える人のため事前に

<?php 

class post_controller extends controller { 

    protected static $config = array(
     'select'  => true, 
     'insert'  => true, 
     'update'  => true, 
     'delete'  => false, 

     'fields'   => array(
      'id'  => array(
       'select' => true, 
       'update' => false 
      ), 
      'name'  => array(
       'select' => true, 
       'update' => true 
      ), 
      'content' => array(
       'select' => true, 
       'update' => true 
      ) 
     ) 
    ); 

    /** 
    * GET, POST, DELETE are implemented already by the parent controller 
    * Just overriding PUT to modify the content entry 
    */ 
    function put($data) { 
     $data->content = htmlentities($data); 
     return parent::put($data); 
    } 

} 

?> 

おかげで、これは適切なstackoverflowのではない場合質問。

編集:

明確にするために、このタイプのサービスは、特定のユースケースのためになる、私はそれは、誰もがWebサービスのいずれかのタイプに使用できるものの種類であることを想像しないでください。

+0

あなたがaclsと "少しの論理"を指定した時点では、基本的にフレームワークを構築しており、この神話のrest-in-a-boxシステムは必要ありません。 Flash Remotingの「残りの」APIの外観については、[amfphp](http://www.silexlabs.org/amfphp/)を参照してください。あなたが望むほど簡単ではありません。 –

+0

フラッシュリモーティング?私はAMFについて全く話していません。私は自分自身で多くのREST(とAMF)インターフェースを構築しており、できるだけ高速ではないことをよく知っています。私はあなたが私の提案/質問を理解していないかもしれないことを恐れている。 – Naatan

+0

データベースをステートレスで均一なインターフェースで探している場合は、SQLを提案することができます。それはまさにそれをするように設計されています。 RESTは有線を介してデータベースを公開することを意図していないため、経験豊富なREST開発者がそのようなことを行うためのフレームワークを構築していないのはこのためです。 –

答えて

0

私はSOAP用に同様のシステムを構築しており、非常に簡単だと言わなければなりません。私はあなたがそれをするのに役立つ(そして私はそれらが存在するのを疑う - 次のパラグラフを参照してください)、あなた自身の解決策を構築するために数時間以上かかることはありません。ドキュメンテーションライティングを含む)。

あなたが本当にそれをしたいのであれば、まったく別の質問です。 RESTはこの目的で使用できますが、リソースを操作するためのものです。データベース内のレコードは、リソースとの1対1のマッピングしかほとんどありません。彼らがあなたのケースで(私が行ったように)したら、それを自由にしてください。さもなければ、適切なREST APIを提供するほうがよかったでしょう。なぜあなたの内部DB構造を世界に公開するのですか?もちろん、YMMV。

+0

RESTは単なるスタイルであり、完全なRESTfulな実装ではありません。 SOAP実装から何かを学んだことがありますか?ありがとう! – Naatan

+0

さて、はい、それを構築するのは悪い考えでした。 ;)毎回カスタムソリューションを構築すれば、APIはもっとうまくいくだろうし、やりやすくなるだろう。 :) – johndodo

関連する問題