0

このシンプルなツールの最初のthx!

次の問題が発生しました。私のサービスクラスには、次のような関数があります(一部):

/**
 * 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タイプ(int)は常に文字列値として表示されることです。そして、フィールドに必要な値を入力して試してみると、$idの値が間違っていると表示されます。intまたはstringを入力できますが、どちらも失敗します。ブラウザで呼び出すと、すべて機能します。

Safari/FirefoxのapiExplorerでRestler3を使用しています。

お役に立てば幸いです。

Thx Inge

編集:@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();

すべてのAPIClassをサブフォルダーに配置しました。2番目のパラメーターとしてURLをAddAPIClassに渡しても機能しなかったので、必要なクラスをrequire_onceします。これが問題でしょうか?

あなたの助けのためのThxInge

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 に答える