我正在使用symfony 2.2.3
和FOSRestBundle
来实现Restful
网络服务。
这是我的代码,但是当我触发以下URL时,我收到以下错误
No route found for "GET /business/john"
这是控制器代码
use FOS'RestBundle'Controller'Annotations as Rest;
use Symfony'Component'HttpKernel'Exception'NotFoundHttpException;
use Symfony'Component'HttpFoundation'Response;
use Symfony'Component'HttpFoundation'JsonResponse;
use Symfony'Bundle'FrameworkBundle'Controller'Controller;
use Symfony'Component'Security'Core'Exception'AccessDeniedException;
use FOS'RestBundle'Controller'FOSRestController;
use FOS'RestBundle'Routing'ClassResourceInterface;
class BusinessController extends Controller {
public function getBusinessAction($para){
return new JsonResponse(array('name' => $para));
}
}
这是我的网址
http://localhost/symfony/web/app_dev.php/business/john
这是我的路线
如果我从 url 和函数中删除参数getBusinessAction
那么它有效,但不适用于参数/
_business:
resource: "@HubHomeBundle/Controller/BusinessController.php"
type: rest
更新
内部app/confing/routing.yml
hub_home:
resource: "@HubHomeBundle/Resources/config/routing.yml"
只是为了确定,这是来自HubHomeBundle/Resources/config/routing.yml吗?
_business:
resource: "@HubHomeBundle/Controller/BusinessController.php"
type: rest
如果是这样,请尝试对其进行编辑并将其更改为:
_business:
resource: HubHomeBundle'Controller'BusinessController
type: rest
"resource"标记的值应该是控制器类的完全限定名称,而不是文件的路径