restler 3 api explorer不正确的param类型

时间:2013-02-27 17:55:56

标签: restler

这个简单工具的第一个版本!

我遇到了以下问题。在我的服务类中,我有一个看起来像这样的部分(部分):

/**
 * 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资源管理器并且phpdocs一切正常但是 @param type(int)始终显示为字符串值。 如果我通过在字段中键入所需的值来尝试它,则表示$ id的值不正确。 我可以输入int或string都失败。如果我在浏览器中调用它就可以了。

我在Safari / Firefox上使用带有apiExplorer的Restler 3。

希望有人可以提供帮助。

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放入子文件夹中。我没有通过传递让它工作 AddAPIClass的url作为第二个参数,所以我需要_once所需的类。 这可能是问题吗?

谢谢你的帮助 英格

1 个答案:

答案 0 :(得分: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();

如果你选择了PSR-0,那么每个班级都不需要require_once