2016-08-10 6 views
1

Laravel APPでMySQLデータベースをRESTful APIに変換しようとしています。 私は十字架にこのpackageを入れました。データベース全体をRESTful APIにする


私はそれを試してみた

、すべての指示に従って、ここでは、これは私がregister_db()

に持っているものである私の設定

$args = array(
      'name' => 'cacti', 
      'username' => 'username', 
      'password' => '****', 
      'server' => 'localhost', 
      'port' => 3306, 
      'type' => 'mysql', 
      'table_blacklist' => array(), 
      'column_blacklist' => array() 
); 

register_db_api('dataset-name', $args); 

です

function register_db($name = 'cacti', $args = array()) { 

     $defaults = array(
      'name' => 'cacti', 
      'username' => 'username', 
      'password' => '****', 
      'server' => 'localhost', 
      'port' => 3306, 
      'type' => 'mysql', 
      'table_blacklist' => array(), 
      'column_blacklist' => array(), 
      'ttl' => $this->ttl 
     ); 

     $args = shortcode_atts($defaults, $args); 
     $name = $this->slugify($name); 

     $this->dbs[$name] = (object) $args; 

    } 

は、私は、データベース

を選択する必要があり、私はトリプル私のデータベースの設定をチェックし、私はMySQLのワークベンチのために同じ設定を使用して、私は、ログインして、自分のデータベースを参照することができ

を取得保管しました良い。

私は何かを忘れましたか?


誰かが同じ問題に直面したことがある場合は、どうかあなたにそれを修正するように教えてください。

それ以外の場合は、私のデータベースをRESTfulなAPIに変えるのに役立つ新しい提案があります。

どのようにしてこのようなことを実装しますか?

これに関するヒント/ヘルプは非常に高く評価されます。あなたの例を使用している場合

+0

あなたは 'データセット-NAME'と呼ばれるデータベースを持っていますか? – jmattheis

+0

いいえ、私はしません。私のデータベース名は** cacti **です。私はそれに変更する必要がありますか? – ihue

+0

私はregister_db_apiとregister_dbという2つの関数を参照しています。 – Mimouni

答えて

1

$args = array(
      'name' => 'cacti', 
      'username' => 'username', 
      'password' => '****', 
      'server' => 'localhost', 
      'port' => 3306, 
      'type' => 'mysql', 
      'table_blacklist' => array(), 
      'column_blacklist' => array() 
); 

register_db_api('dataset-name', $args); 

をあなたは、URLを使用する必要があります:

/dataset-name/table-name 

dataset-nameは、他の人が言っているように、実際のデータベース名と一致する必要はありません。この名前は実際にはデータ・セット名であり、任意の名前にすることができます。

サイドノート;このパッケージは、コードでは恐ろしく、自動化されたテストがないようですので、このパッケージを使用しないでください。

+0

ああ..いいよ。分かりました。これにもっと多くの光を放つためにありがとう! :D – ihue

+0

うーん...共有しても大丈夫な好きなパッケージはありますか? – ihue

+0

なぜそれほどパッケージはそんなに?すべてのAPIが行うことは、データを受信して​​そのままデータベースに保存することはほとんどありません。 –

0

私は最終的にそれをLaravel内で行いました。

#1 - ルート

Route::get('api/psql/{table_name}', '[email protected]'); 

#2 - コントローラ

public function psql($table_name){ 
    $object = DB::table($table_name)->get(); 
    return $object; 
} 


#3から

http://localhost:8888/api/psql/users 
それを呼び出します

結果

[ 
{ 
"id": 2005, 
"account_id": "2005", 
"email": "[email protected]", 
"fb_email": "", 
"tw_email": "", 
"created_at": "2016-08-09 11:19:30", 
"updated_at": "2016-08-09 11:19:30", 
"fb_access_token": "", 
"fb_profile_id": "", 
"fb_page_id": "", 
"fb_username": "", 
"auto_provisioning": null, 
"service_plan": null 
}, 
{ 
"id": 2004, 
"account_id": "2004", 
"email": "[email protected]", 
"fb_email": "", 
"tw_email": "", 
"created_at": "2016-08-08 11:39:50", 
"updated_at": "2016-08-09 14:02:55", 
"fb_access_token": "", 
"fb_profile_id": "", 
"fb_page_id": "", 
"fb_username": "", 
"auto_provisioning": "1", 
"service_plan": "Blast" 
} 
] 
関連する問題