如何使 Nelmio ApiDoc 注释将请求方法传递给我的表单?

How to make Nelmio ApiDoc annotations pass request method to my forms?

我使用动态表单(定义为服务 (!))来 enable/disable 某些特定请求的字段 (POST/PUT/PATCH)。我希望通过将选项传递给表单 described in documentation 来自动将其显示在 ApiDoc 中。但它不起作用。我用这个:

 * @ApiDoc(
 *  section = "...",
 *  description = "...",
 *  input = {
 *      "class" = "my_form_type_alias",
 *      "options" = {"method" = "PUT"},
 *      "name" = ""
 *  },
 *  statusCodes = {
 *      200 = "Updated (seems to be OK)",
 *      400 = "Bad request (see messages)",
 *      401 = "Unauthorized, you must login first",
 *      404 = "Not found",
 *  }
 * )

但是通过 xdebug 我可以看到 $options['method'] 总是等于 'POST',就像我没有指定 "options" = {"method" = "PUT"}.

目前这已在 Nelmio ApiDoc 中修复并且工作正常。

您可以尝试在路由中包含请求方法。

通过正确配置 ApiDoc,方法将显示在 ApiDoc 中。

在app/config/routing.yml

# app/config/routing.yml
app:
    resource: "@AppBundle/Controller/"
    type:     annotation
    requirements:
        _method: POST