バージョンでFOSRestful
例を試していますが、次のエラーが発生していますSymfony 2
「/Library/WebServer/Documents/symfony/app/config/routing_dev.yml」からリソース「@AcmeDemoBundle/Controller/UsersController」をインポートできません。「AcmeDemoBundle」バンドルが正しく登録され、アプリケーション カーネル クラスにロードされていることを確認します。
私はそれに慣れていないので、FOSRestfulBundle が適切にインストールされているかどうかわからないので、ここにすべての手順を投稿しています。
今まで私はセットアップするために次のことをしました
1. のAppKernel.php
new JMS\SerializerBundle\JMSSerializerBundle(), new FOS\RestBundle\FOSRestBundle(),
2. composer.json で
"jms/serializer-bundle": "dev-master", "friendsofsymfony/rest-bundle": "dev-master"
3. config.yml で
fos_rest: routing_loader: default_format: json
4 . routing_dev.yml で
users: type: rest resource: "@AcmeDemoBundle/Controller/UsersController" prefix: /users
5. 以下は、UsersController
内部にある
の内容ですAcme/DemoBundle/Controller
<?php
namespace Acme\DemoBundle\Controller;
use Acme\DemoBundle\Model\User;
use Acme\DemoBundle\Model\UserQuery;
use FOS\RestBundle\Controller\Annotations as Rest;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class UsersController
{
/**
* @Rest\View
*/
public function allAction()
{
$users = UserQuery::create()->find();
return array('users' => $users);
}
/**
* @Rest\View
*/
public function getAction($id)
{
$user = UserQuery::create()->findPk($id);
if (!$user instanceof User) {
throw new NotFoundHttpException('User not found');
}
return array('user' => $user);
}
}
?>
6.composer.json
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.2.*",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.2.*",
"symfony/monolog-bundle": "2.2.*",
"sensio/distribution-bundle": "2.2.*",
"sensio/framework-extra-bundle": "2.2.*",
"sensio/generator-bundle": "2.2.*",
"jms/security-extra-bundle": "1.4.*",
"jms/di-extra-bundle": "1.3.*",
"jms/serializer-bundle": "dev-master",
"friendsofsymfony/rest-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "alpha",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"branch-alias": {
"dev-master": "2.2-dev"
}
}
}