我在蛋糕PHP3中创建了rest API,我需要在端点上添加一些API版本。
例如:圆顶 - www.test.com
版本控制 - /test/api/v1/
所以用户端点就像是www.test.com/test/api/v1/users
我已经更改了routes.php
文件,如下所示。
Router::scope('/test/api/v1/', function (RouteBuilder $routes) {
以上更改在端点中正常工作,但当我尝试获取公共图片网址时,webroot/img
目录中的图片如下所示Controller class Img is missing
http://test.com/test/api/v1/img/cake.png
webroot/img
图片的公开网址?答案 0 :(得分:1)
在CakePHP中,最好将不同版本的REST API创建为单独的插件,例如插件ApiV10。
内部插件routes.php添加如下:
use Cake\Routing\RouteBuilder;
use Cake\Routing\Router;
Router::extensions(['json']);
Router::plugin(
'ApiV10',
['path' => '/api/v1'],
function (RouteBuilder $routes) {
$routes->connect(
'/autosuggestions/locations',
['controller' => 'Autosuggestions', 'action' => 'locations','_ext' => 'json']
);
$routes->connect('/users', ['controller' => 'Users', 'action' => 'index']);
$routes->fallbacks('DashedRoute');
}
);
在您的控制器方法中设置数据数组,其中包含webroot / img / yourimages.jpg的完整路径。完整路径也可以在实体
中修改http://book.cakephp.org/3.0/en/orm/entities.html#accessors-mutators