Merge pull request #6027 from owncloud/public-api-restful-routing-oc6
fix appframework routing
This commit is contained in:
commit
a81909097c
|
@ -43,8 +43,12 @@ class App {
|
||||||
* stored in the DI container
|
* stored in the DI container
|
||||||
* @param string $methodName the method that you want to call
|
* @param string $methodName the method that you want to call
|
||||||
* @param DIContainer $container an instance of a pimple container.
|
* @param DIContainer $container an instance of a pimple container.
|
||||||
|
* @param array $urlParams list of URL parameters (optional)
|
||||||
*/
|
*/
|
||||||
public static function main($controllerName, $methodName, IAppContainer $container) {
|
public static function main($controllerName, $methodName, DIContainer $container, array $urlParams = null) {
|
||||||
|
if (!is_null($urlParams)) {
|
||||||
|
$container['urlParams'] = $urlParams;
|
||||||
|
}
|
||||||
$controller = $container[$controllerName];
|
$controller = $container[$controllerName];
|
||||||
|
|
||||||
// initialize the dispatcher and run all the middleware before the controller
|
// initialize the dispatcher and run all the middleware before the controller
|
||||||
|
|
|
@ -37,6 +37,6 @@ class RouteActionHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __invoke($params) {
|
public function __invoke($params) {
|
||||||
App::main($this->controllerName, $this->actionName, $params, $this->container);
|
App::main($this->controllerName, $this->actionName, $this->container, $params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace OCP\AppFramework;
|
namespace OCP\AppFramework;
|
||||||
|
use OC\AppFramework\routing\RouteConfig;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,6 +53,28 @@ class App {
|
||||||
return $this->container;
|
return $this->container;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function is to be called to create single routes and restful routes based on the given $routes array.
|
||||||
|
*
|
||||||
|
* Example code in routes.php of tasks app (it will register two restful resources):
|
||||||
|
* $routes = array(
|
||||||
|
* 'resources' => array(
|
||||||
|
* 'lists' => array('url' => '/tasklists'),
|
||||||
|
* 'tasks' => array('url' => '/tasklists/{listId}/tasks')
|
||||||
|
* )
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* $a = new TasksApp();
|
||||||
|
* $a->registerRoutes($this, $routes);
|
||||||
|
*
|
||||||
|
* @param \OC_Router $router
|
||||||
|
* @param array $routes
|
||||||
|
*/
|
||||||
|
public function registerRoutes($router, $routes) {
|
||||||
|
$routeConfig = new RouteConfig($this->container, $router, $routes);
|
||||||
|
$routeConfig->register();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is called by the routing component to fire up the frameworks dispatch mechanism.
|
* This function is called by the routing component to fire up the frameworks dispatch mechanism.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue