我有两个laravel项目,一个只有我的愿景( AppView ),另一个有Web服务( AppWs ),在我的网络服务中我有以下路线 路由项目AppWs Route :: group(['前缀' =>' api'],function(){
Route::group(['prefix' => 'user'], function(){
Route::group(['prefix' => 'tipoprojeto'], function(){
Route::get('','Painel\TipoProjetoController@All');
});
});
});
当我访问http://localhost/WebServiceApp/public/api/user/tipoprojeto/
时它返回一个包含所有数据的数组,直到那时为止。
在我的其他项目中,我有一个TypeProjectController控制器,我有index()方法( AppView ),那么如何检索要在此处加载的web服务数据?
修改
负责操纵数据的AppWs
public function All(){
return $this->ModelTipoProjeto->paginate(5);
}
负责显示数据的AppView 路由::资源(' / Painel / TipoProjeto',' Painel \ TipoProjetoController');
public function index()
{
$getData = `http://localhost/WebServiceApp/public/api/user/tipoprojeto/` // <~~
return view('Painel.TipoProjeto.index');
}
检索AppWebservice链接返回的数据
答案 0 :(得分:1)
首先,为了使用外部服务,您必须向要获取数据表单的端点执行http请求。
您的终点:http://localhost/WebServiceApp/public/api/user/tipoprojeto/
安装guzzle,这是一个php curl包装器来执行http调用。 在你的root dir open命令行中,点击你的项目注入guzzle:
composer require guzzlehttp/guzzle
确保通过添加
在控制器顶部导入guzzleuse GuzzleHttp\Client;
然后转到索引方法并执行以下操作:
public function index(){
// Create a client with a base URI
$client = new GuzzleHttp\Client(['base_uri' => 'http://localhost/WebServiceApp/public/api/user/tipoprojeto/']);
// Send a request to http://localhost/WebServiceApp/public/api/user/tipoprojeto/
$response = $client->request('GET', 'test');
// $response contains the data you are trying to get, you can do whatever u want with that data now. However to get the content add the line
$contents = $response->getBody()->getContents();
dd($contents);
}
$contents
包含您现在可以随意执行的数据。