【发布时间】:2019-03-14 18:41:52
【问题描述】:
我有一个简单的控制器,它使用带有 guzzle 的 API(OpenWeatherMap)并在进入时生成一个获取请求。但是我希望我的 zipcode 参数不要在代码库中硬编码,而是可以是动态的,并且可以通过 URL 调用。请参阅参考代码。
控制器
<?php
namespace App\Http\Controllers;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
class GuzzleController extends Controller
{
public function index()
{
try {
$client = new Client([
// Base URI is used with relative requests
'base_uri' => 'http://api.openweathermap.org/data/2.5/',
]);
$response = $client->request('GET', 'forecast', [
'query' => [
'zip' => '32811',
'country code' => 'us',
'APPID' => '02f129190a8736e107260eadce1d781e'
],
]);
if($response->getStatusCode() == 200) {
return $response->getBody()->getContents();
}
} catch(Exception $e) {
echo "Error: " . $e->getMessage();
}
}
}
路线
Route::get('forecast', 'GuzzleController@index');
【问题讨论】:
标签: php laravel composer-php guzzle