【问题标题】:How to make NelmioApiDocBundle work with Symfony's FormType如何使 NelmioApiDocBundle 与 Symfony 表单类型一起工作
【发布时间】:2017-09-22 22:18:36
【问题描述】:

在使用 FOSRestBundle 工作了一段时间后,我觉得我错过了一些东西。 在我看来,FOSRestBundle 和 Symfony 的 FormType - 有点相似。 两者都是您的“数据经纪人”。每个人都有自己的东西,但最终它们是相似的。

如今,每个人都迁移到单页应用程序。这意味着每个人都在尝试使用他们现有的 FormType(s) 并使用 FOSRestBundle 构建 API。但是他们不能轻易地记录下来。 NelmioApiDocBundle 不适用于 FormType。还是我错过了什么?

所以我的问题是:是否可以“告诉” NelmioApiDocBundle 使用 FormType 作为其文档(描述所需数据)?

好像这个问题有workaround, 但它不起作用

控制器注解:

@ApiDoc(
    resource=true,
    description="Register a new User",
    views = {"v1"},
    input="register_form"
)

表单类型:

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => User::class,
        'csrf_protection'   => false,
        'allow_extra_fields'   => true,
    ));
}

public function getBlockPrefix()
{
    return 'register_form';
}

public function getName()
{
    return 'register_form';
}

service.yml:

register_form:
    class: AppBundle\Form\API\UserRegisterType
    tags:
        - { name: form.type, alias: register_form }

请指教, 谢谢!

【问题讨论】:

    标签: php symfony single-page-application fosrestbundle nelmioapidocbundle


    【解决方案1】:

    input=“AppBundle\Form\API\UserRegisterType”代替input="register_form"

    【讨论】:

    • 我就是这样,它可以工作,尝试删除resource=true,,还有你使用的是哪个版本的nelmioapidoc?以及您的端点在文档中的外观如何,参数是否为空白?
    • 我用的是最新的稳定版。同时,我切换到 dev-master - 这个版本可以正常工作!而且它看起来更好。
    • @eldad87 我在“nelmio/api-doc-bundle”:“^2.13”,也许这就是问题所在。
    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    相关资源
    最近更新 更多