Php 将整个数据库转换为RESTful API
我正在努力在我的Laravel应用程序中将MySQL数据库转换为RESTful API。 我在github遇到了一个十字架Php 将整个数据库转换为RESTful API,php,mysql,database,rest,laravel,Php,Mysql,Database,Rest,Laravel,我正在努力在我的Laravel应用程序中将MySQL数据库转换为RESTful API。 我在github遇到了一个十字架 我试过了, 并遵循每一条指令,这是我的设置 $args = array( 'name' => 'cacti', 'username' => 'username', 'password' => '****', 'server' => 'localhost'
我试过了, 并遵循每一条指令,这是我的设置
$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 );
这是我在register\u db()中的内容
我一直在 必须选择一个数据库 我三次检查了我的数据库设置,在MySQL Workbench中使用了相同的设置,我可以登录并查看我的数据库 我错过什么了吗
如果以前有人遇到过同样的问题,请告诉我您是如何解决的 除此之外,我愿意接受任何新的建议,这些建议将帮助我将数据库转换为RESTful API 如何着手实施这样的事情?
在此方面的任何提示/帮助都将不胜感激 使用您的示例时:
$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
数据集名称
不必像其他人所说的那样与实际的数据库名称匹配。此名称实际上是数据集名称,可以是您想要的任何名称
旁注;请不要使用此软件包,因为它的代码非常糟糕,而且似乎没有自动测试。我终于在Laravel中自己完成了 #1-路线
#2-控制器
#3-叫它 结果
[
{
"id": 2005,
"account_id": "2005",
"email": "test@b",
"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": "test@outlook.com2",
"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"
}
]
您有一个名为
数据集名称的数据库吗?没有。我的数据库名是cacti。我看到两个函数register\u db\u api和register\u db,我想这意味着seem函数!啊。。可以我现在明白了。谢谢你在这件事上透露了更多的信息!:DHmm。。。你有一个你不介意分享的最喜欢的包吗?@ihue为什么会有这样的包?您的API不太可能只接收数据并按原样保存到数据库中。我需要能够通过某种HTTP从数据库中查询数据。我不知道还有什么别的办法,我会这么做。我写了一篇小文章,也许可以帮你。
Route::get('api/psql/{table_name}', 'ApiController@psql');
public function psql($table_name){
$object = DB::table($table_name)->get();
return $object;
}
http://localhost:8888/api/psql/users
[
{
"id": 2005,
"account_id": "2005",
"email": "test@b",
"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": "test@outlook.com2",
"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"
}
]