如何使用NelmioApiDocBundle在POST请求中包含查询参数?

时间:2016-02-23 00:50:12

标签: php symfony nelmioapidocbundle

我正在使用(和新的)Symfony 3和NelmioApiDocbundle。我想处理具有可选查询参数的POST请求。网址将是这样的: http://example.com/api/updateusers?token=some_long_value

这是我为注释尝试的内容:

/**
 * Returns a JSON object.
 *
 * @ApiDoc(
 *  resource=true,
 *  description="Update a user's information.",
 *  requirements={
 *      {
 *          "name"="userid",
 *          "dataType"="string",
 *          "requirement"=".+",
 *          "description"="the user to update"
 *      }
 *  },
 *  parameters={
 *    {"name"="data", "dataType"="text area", "required"=true, "description"="Free form xml data."}
 *  },
 *  filters={
 *    {"name"="token", "dataType"="string", "required"=true, "description"="auth token for current user - user that you're making the request on behalf of."},
 *  },
 * )
 * @Route("api/updateusers")
 * @Method("POST")
 */

要求,参数和过滤器都显示在API沙箱的POST正文中。是否有其他可以使用的定义类型,它将在API沙箱中显示查询参数?如果我绕过沙箱并将请求直接发送到服务器,则令牌会正确显示为GET值。但我希望能够使用API​​沙箱进行测试和文档编制。

1 个答案:

答案 0 :(得分:0)

尝试在注释中添加此内容,希望它对您有所帮助。

@QueryParam(name="<your_name>", nullable=[true|false], requirements="\d+", description="<your_decription>")