没有可以加载的扩展程序

时间:2016-11-26 11:35:03

标签: api symfony

我整合了捆绑包FOSRestBundle,JMSSerializerBundle和NelmioApiDocBundle,我修改了文件config.yml和routing.yml但是我发现了这个问题

code config.yml:

var elementID = event.target.parentElement.id.split("##")[1]
var element = "generalSection-" + elementID
var domElement = document.getElementById(element);
if (window.innerWidth > 650) {
    domElement.toggle();  
} else {
    if (domElement.opened) {
        domElement.classList.toggle('iron-collapse-closed');
    } else {
        domElement.classList.toggle('iron-collapse-opened');
    }
}

if (domElement.opened) {
    event.target.icon = "expand-less";
} else {
    event.target.icon = "expand-more";
}

code routing.yml:

imports:
            - { resource: parameters.yml }
            - { resource: security.yml }
            - { resource: services.yml }
            - { resource: "@UserBundle/Resources/config/services.yml" }

        # Put parameters here that don't need to change on each machine where the app is deployed
        # http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
        parameters:
            locale: fr

        framework:
            #esi:             ~
            translator:      ~ 
            secret:          "%secret%"
            router:
                resource: "%kernel.root_dir%/config/routing.yml"
                strict_requirements: ~
            form:            ~
            csrf_protection: ~
            validation:      { enable_annotations: true }
            #serializer:      { enable_annotations: true }
            templating:
                engines: ['twig']
            default_locale:  "%locale%"
            trusted_hosts:   ~
            trusted_proxies: ~
            session:
                # handler_id set to null will use default session handler from php.ini
                handler_id:  ~
            fragments:       ~
            http_method_override: true

        # Twig Configuration
        twig:
            debug:            "%kernel.debug%"
            strict_variables: "%kernel.debug%"

        # Doctrine Configuration
        doctrine:
            dbal:
                driver:   pdo_mysql
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8
                # if using pdo_sqlite as your database driver:
                #   1. add the path in parameters.yml
                #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
                #   2. Uncomment database_path in parameters.yml.dist
                #   3. Uncomment next line:
                #     path:     "%database_path%"

            orm:
                auto_generate_proxy_classes: "%kernel.debug%"
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true

        # Swiftmailer Configuration
        swiftmailer:
            transport: "%mailer_transport%"
            host:      "%mailer_host%"
            username:  "%mailer_user%"
            password:  "%mailer_password%"
            spool:     { type: memory }

        fos_user:
            db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
            firewall_name: main
            user_class: test\UserBundle\Entity\User

        fos_rest:
            view:
                view_response_listener: 'force'
                formats:
                    json: true
            format_listener:
                rules:
                    - { path: '^/api', priorities: ['json'], fallback_format: json, prefer_extension: true }
                    - { path: '^/', stop: true }

        nelmio_cors:
            paths:
                '^/api/':
                    allow_credentials: true
                    allow_origin: ['*']
                    allow_headers: ['*']
                    allow_methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE']
                    max_age: 3600  

code routing_rest.yml:

user:
        resource: "@UserBundle/Resources/config/routing.yml"
        prefix:   /

    med:
        resource: "@MedBundle/Resources/config/routing.yml"
        prefix:   /

    app:
        resource: "@AppBundle/Controller/"
        type:     annotation

    fos_user:
        resource: "@FOSUserBundle/Resources/config/routing/all.xml"

    NelmioApiDocBundle:
        resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
        prefix:   /api/doc

    app_api:
        resource: "@MedBundle/Resources/config/routing_rest.yml"
        type:     rest
        prefix:   /api

代码AppController.php:

api_app:
resource: MedBundle\Controller\Api\AppController
type:     rest

现在我可以在测试API

时发现这个问题

enter image description here

解决方案是什么,谢谢

1 个答案:

答案 0 :(得分:0)

config.yml文件中没有assetic的任何配置。我假设您没有在您的应用上安装AsseticBundle。从Symfony 2.8开始,Symfony标准版中不再包含Assetic。您需要自己安装:

首先要求包含作曲家的包:

composer require symfony/assetic-bundle

在AppKernel.php文件中启用该包

class AppKernel extends Kernel
{
    // ...

    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        );

        // ...
    }
}

将以下最小配置添加到config.yml文件以启用Assetic

# app/config/config.yml
assetic:
    debug:          '%kernel.debug%'
    use_controller: '%kernel.debug%'
    filters:
        cssrewrite: ~