Restler总是返回错误404未找到

时间:2012-08-20 22:39:49

标签: php rest http-status-code-404 restler

我似乎无法想出这个。

班级:

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();

网址:

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

结果:

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

我不知道为什么这会创建404,但我按照说明进行操作,但我仍然无法进行任何操作。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Restler使用getpostputdelete作为方法前缀,自动将它们映射到相应的HTTP方法/动词

GET是默认的HTTP方法,所以如果你不使用上述任何一个方法作为前缀,它将被映射到GET方法

您的api目前正在映射到以下网址

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

如果网址中的getOne对您很重要,请使用@url评论,如下所示,以此方式手动路由

class Assets
{
    /**
     * @url GET getOne/:id
     * @url GET getOne
     */
    function getOne($id)
    {
        $asset = DBO_Asset::getOneByPublicId($id);
        return $asset->id;
    }
}