2013-02-27 64 views
0

這個簡單的工具的第一thx!restler 3 api資源管理器不正確的參數類型

我得到了以下問題。在我的服務類,我有一個功能,它是這樣的(部分):

/** 
* get merkmale from device id 
* 
* one could get merkmale from given serial id by passing var id 
* to this function and will get back one to n results ORDER BY ORDNUNG ASC 
* in JSON format 
* 
* @url GET /:id/merkmale 
* @param int $id contains the device id 
* @throws 400 No value given for id 
* @return json 
* 
*/ 
function getmerkmale ($id) {....} 

的問題是,如果我調用API Explorer和phpdocs一切正常,但 的@參數類型(INT)總是顯示爲字符串值。 如果我通過在字段中輸入所需的值來嘗試它,它會爲$ id表示錯誤的值。 我可以輸入int或string都失敗。如果我在瀏覽器中調用它所有的作品。

我在Safari/Firefox上使用Restler 3和apiExplorer。

希望能有所幫助。

THX 英格

編輯: @Lucarest我嘗試了確切的Git克隆已經沒有成功

也許問題是index.html中?

<?php 
use Luracast\Restler\Restler; 
require_once 'vendor/restler.php'; 
require_once 'database/config.php'; 
require_once 'database/DB.php'; 
require_once 'controller/Say.php'; 
require_once 'controller/Authors.php'; 
require_once 'controller/kunde/kunde.php'; 
require_once 'controller/device/device.php'; 
require_once 'controller/messprotokoll/messprotokoll.php'; 

$r = new Restler(); 
$r->addAPIClass('Luracast\Restler\Resources'); //this creates resources.json at API Root 
$r->addAPIClass('Say'); 
$r->addAPIClass('Authors'); 
$r->addAPIClass('kunde'); 
$r->addAPIClass('device'); 
$r->addAPIClass('messprotokoll'); 
//... add more api model if needed 
$r->handle(); 

我已將所有APIClasses放入子文件夾中。我沒有得到它的工作,通過 URL作爲第二參數AddAPIClass,所以我require_once所需的類。 這可能是問題嗎?

THX對您有所幫助 英格

+0

你可以嘗試github主分支上的最新版本?和示例 – Luracast 2013-02-28 02:41:29

+0

附帶的資源管理器我也嘗試了您的完整示例,無需任何修改。 Safari和Firefox都在資源管理器中顯示和int值:( – Inge 2013-02-28 08:59:04

回答

0

當您添加使用addAPIClass確保您還有反斜槓命名空間類如下圖所示

<?php 
use Luracast\Restler\Restler; 

require_once 'vendor/restler.php'; 
require_once 'database/config.php'; 
require_once 'database/DB.php'; 
require_once 'controller/Say.php'; 
require_once 'controller/Authors.php'; 
require_once 'controller/kunde/kunde.php'; 
require_once 'controller/device/device.php'; 
require_once 'controller/messprotokoll/messprotokoll.php'; 

$r = new Restler(); 
$r->addAPIClass('Luracast\\Restler\\Resources'); //note the double slash for escaping 
$r->addAPIClass('Say'); 
$r->addAPIClass('Authors'); 
$r->addAPIClass('kunde'); 
$r->addAPIClass('device'); 
$r->addAPIClass('messprotokoll'); 
//... add more api model if needed 
$r->handle(); 

如果STRICK到PSR-0,你將不再需要require_once爲每個類