0

私はこれを理解できないようです。

クラス:

class Assets {
 function getOne($id) {
    $asset = DBO_Asset::getOneByPublicId($id);

    return $asset->id;
 }
}

index.php:

require_once 'restler/restler.php';
require_once 'API/Assets.php';

$rest = new Restler();
$rest->addAPIClass("Assets");
$rest->handle();

URL:

http://localhost/api/index.php/assets/getOne/8TWVTZAU

結果:

{
  "error": {
  "code": 404,
  "message": "Not Found"
  }
}

これが 404 を作成する理由はわかりませんが、指示に従いましたが、まだどこにも到達していません。誰かがこれを理解するのを手伝ってくれますか?

4

1 に答える 1

1

Restler は、、、、をメソッド プレフィックスとして使用して、それらgetをそれぞれの HTTP メソッド/動詞に自動的にマップします。postputdelete

GET はデフォルトの HTTP メソッドであるため、メソッドの前に上記のいずれも付けないと、GET メソッドにマップされます。

API は現在、次の URL にマッピングされています

http://localhost/api/index.php/assets/one/8TWVTZAU

getOneURL を含めることが重要な場合は、以下に示すようにコメントを使用して、その@urlように手動でルーティングします

class Assets
{
    /**
     * @url GET getOne/:id
     * @url GET getOne
     */
    function getOne($id)
    {
        $asset = DBO_Asset::getOneByPublicId($id);
        return $asset->id;
    }
}
于 2012-08-21T00:50:06.953 に答える