0

首先感谢这个简单的工具!

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

/**
 * 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 一切正常,但 @param 类型(int)总是显示为字符串值。如果我通过在字段中输入所需的值来尝试它,它会显示 $id 的值错误。我可以输入 int 或 string 都失败。如果我在浏览器中调用它一切正常。

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

希望有人能帮上忙。

谢谢英格

编辑:@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 来让它工作,所以我需要需要的类。这可能是问题吗?

谢谢你的帮助

4

1 回答 1

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

于 2013-03-14T14:16:15.460 回答