Cake PHP3 rest API获取图像的公共URL

Cake PHP3 rest API获取图像的公共URL,php,api,cakephp,routing,cakephp-3.0,Php,Api,Cakephp,Routing,Cakephp 3.0,我正在cake PHP3中创建rest API,我需要向端点添加一些API版本控制。 例如:domein-www.test.com 版本控制-/test/api/v1/ 因此,用户希望成为www.test.com/test/api/v1/users 我更改了routes.php文件,如下所示 Router::scope('/test/api/v1/', function (RouteBuilder $routes) { 上面的更改在端点中可以正常工作,但当我尝试获取公共图像URL时,下面web

我正在cake PHP3中创建rest API,我需要向端点添加一些API版本控制。 例如:domein-
www.test.com
版本控制-
/test/api/v1/
因此,用户希望成为
www.test.com/test/api/v1/users

我更改了
routes.php
文件,如下所示

Router::scope('/test/api/v1/', function (RouteBuilder $routes) {
上面的更改在端点中可以正常工作,但当我尝试获取公共图像URL时,下面
webroot/img
目录中的图像显示
控制器类img缺失

http://test.com/test/api/v1/img/cake.png

  • 我是否使用了正确的方法更改端点URL
  • 如果是这样的话,我如何才能获得上述
    webroot/img
    图像的公共URL

  • 在CakePHP中,创建不同版本的RESTAPI作为单独的插件是一个很好的实践,例如插件ApiV10

    在plugin 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/yourmages.jpg的完整路径设置数据数组。还可以在您的实体中修改完整路径