我已启动并运行现有网站,现在我想在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/Test
和http://localhost:8000/v1/Test
我忘了做什么?
答案 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/test
和http://localhost:8000/test
都返回"working"