设置Nelmio ApiDoc返回参数说明

时间:2017-04-27 21:09:09

标签: symfony nelmioapidocbundle

在我们控制器的ApiDoc上,我们已经指定了输出响应对象,现在我们看到了返回的所有参数的列表。 Output Params 我们如何为此列表中的版本和/或描述字段提供值?

我尝试将@ApiDoc(description="text")添加到响应对象的参数中,但似乎没有做任何事情。

提前致谢。

3 个答案:

答案 0 :(得分:0)

我没有使用过nelmioApiDoc但是查看了它的文档,在注释部分使用description="text"似乎是正确的。您是否尝试过清除缓存:

php bin/console cache:clear --env=prod

不确定它是否相关。

使用了此section describes how versioning objects,看起来您必须在JMSSerializerBundle类中使用@Until("x.x.x")@Since("x.x")See this link

答案 1 :(得分:0)

这是我的一个项目的工作API方法:

/**
     * Get an extended FB token given a normal access_token
     *
     * @ApiDoc(
     *  resource=true,
     *  requirements={
     *      {
     *          "name"="access_token",
     *          "dataType"="string",
     *          "description"="The FB access token",
     *          "version" = "1.0"
     *      }
     *  },
     *  views = { "facebook" }
     * )
     * @Get("/extend/token/{access_token}", name="get_extend_fb_token", options={ "method_prefix" = false }, defaults={"_format"="json"})
     */
    public function getExtendTokenAction(Request $request, $access_token)
    {
        //...
    }

返回的所有APIDoc参数都归入"要求"。

答案 2 :(得分:0)

我今天介绍了ApiDocBundle,看到Description来自使用@VirtualProperty的模型属性或方法的注释。

例如:

/**
 * This text will be displayed as the response property's description
 *
 * @var \DateTime
 * @JMS\Type("DateTime<'Y-m-d\TH:i:sO'>")
 */
protected $dateTimeProperty;

/**
 * VirtualProperty comment
 *
 * @JMS\Type("integer")
 * @JMS\VirtualProperty()
 * @return integer
 */
public function getVirtualProperty()
{
    return $this->someFunc();
}

这同样适用于控制器方法的所有注释。

The result of the above ^