无法使laravel / database和restler使用版本控制

时间:2014-09-13 04:38:00

标签: laravel-4 restler

我已启动并运行现有网站,现在我想在api子目录中添加一个REST接口。我无法通过版本控制来实现这一点。我这样安装(没有错误):

$ php ~/bin/composer.phar create-project laravel/database --prefer-dist api
$ cd api
$ php ~/bin/composer.phar require restler/framework 3.0.0-RC6

然后我取消注释与Restler相关的public / index.php中的行,并添加一个只回显字符串的新API类。如果我通过php artisan serve运行并通过localhost URL查看它,那么该方法可以正常工作。

现在我想启用版本控制,所以我将这些行添加到public / index.php

use Luracast\Restler\Defaults;
Defaults::$useUrlBasedVersioning = true;

在app / controllers中我创建了一个v1目录并将Test.php移动到该目录中。我还为格式为namespace A\B\v1

的文件添加了一个名称空间指令

当我重新启动工匠服务器并查询API时,出现404错误。我试过http://localhost:8000/Testhttp://localhost:8000/v1/Test

我忘了做什么?

1 个答案:

答案 0 :(得分:1)

以下是我如何使其发挥作用。请注意我放置api类文件的文件夹。

index.php中的

use Luracast\Restler\Restler;
use Luracast\Restler\Defaults;
Defaults::$useUrlBasedVersioning = true;

$r = new Restler();
$r->addAPIClass('A\B\Test');

Test.php保存在app/controllers/A/B/v1/Test.php

<?php namespace A\B\v1;

class Test
{
    public function get()
    {
        return 'working';
    }
}

http://localhost:8000/v1/testhttp://localhost:8000/test都返回"working"