【发布时间】:2018-08-02 10:09:48
【问题描述】:
我正在修补 GuzzleHTTP 和 API 请求。我正在使用Napiarfolyam.hu 进行测试。他们收集不同银行的不同 Valuta 的汇率。
他们的 API 地址:http://api.napiarfolyam.hu
他们接受参数化的GET 请求
可能的参数:
- 银行(可能的输入:bb、alianz、cib、花旗银行、commerz、erste、kdb、kh、mkb、oberbank、otp、raiffeisen、unicredit、volksbank、mnb、sopron、mfb、fhb)
- 价值(可能的输入:英镑、澳元、丹麦克朗、日元、加元、挪威克朗、瑞士法郎、瑞典克朗、美元、捷克克朗、波兰兹罗提、欧元、HRK、RON、TRY)
- YYYYMMDD 格式的数据(我们希望看到的数据的日期)
- YYYYMMDD 格式的数据(如果我们使用它,我们将获得基准-数据区间的汇率)
- valutanem(可能的输入 valuta, deviza。我们可以用它缩小结果范围)
他们说他们的输出应该是这样的:
<arfolyam>
<valuta>
<item>
<bank>bank rövidítése</bank>//The bank's short name
<datum>mikor kapta ezt az értéket</datum>//Date
<penznem>pénznem kódja</penznem>//Currency
<vetel>árfolyam 1 egységre</vetel>//BuyPrice
<eladas>árfolyam 1 egységre</eladas>//SellPrce
</item>
</valuta>
<deviza>
<item>
<bank>bank rövidítése</bank>//The bank's short name
<datum>mikor kapta ezt az értéket</datum>//date
<penznem>pénznem kódja</penznem>//Currency
<vetel>árfolyam 1 egységre</vetel>//Buyprice
<eladas>árfolyam 1 egységre</eladas>//Sellprice
<kozep>árfolyam 1 egységre</kozep>//Middleprice only when the bank is MNB
</item>
</deviza>
</arfolyam>
到目前为止我的控制器:
<?php
namespace App\Http\Controllers;
use DB;
use Carbon\Carbon;
use GuzzleHttp\Client;
class ValutaController extends Controller {
public function getValuta($bankName = '', $valuta = ''){
$client = new Client();
$response = $client->request('GET', "http://api.napiarfolyam.hu?bank={$bankName}&valuta={$valuta}");
$body = $response->getBody();
}
}
我的问题:$body 是 string 而不是 xml。为什么?
最好是xml 或array,因为我在修补时看到有时BuyPrice 和SellPrice 会改变它们的位置。
【问题讨论】:
标签: laravel api get request guzzle