2016-08-24 40 views
1

我在蛋糕PHP3中创建了其他API,我需要将一些API版本添加到端点。 例如:杜梅因 - www.test.com 版本 - /test/api/v1/ 所以用户端点喜欢被www.test.com/test/api/v1/users蛋糕PHP3其余的API获取图像的公开URL

我已经改变了routes.php文件,如下。

Router::scope('/test/api/v1/', function (RouteBuilder $routes) { 

上述改变是在终端工作正常,但当我试图让公众形象的URL,在webroot/img目录图片如下它说Controller class Img is missing

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

  1. 我是用正确的蛋糕PHP3如何更改端点URL?
  2. 如果是这样,我怎么能得到如上webroot/img图像的公共URL?

回答

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'); 
    } 
); 

在你的控制器方法组数据阵列完整路径根目录/ IMG/yourimages.jpg。全路径也可以在实体

http://book.cakephp.org/3.0/en/orm/entities.html#accessors-mutators

修改