在控制器的 ApiDoc 中,我们已经指定了输出响应对象,现在我们看到了所有返回参数的列表。 我们如何为此列表中的版本和/或描述字段提供值?
我尝试添加@ApiDoc(description="text")
到响应对象的参数,但这似乎没有做任何事情。
提前致谢。
我今天浏览了 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();
}
这同样适用于控制器方法的所有注释。
我没有使用 nelmioApiDoc 但查看它的文档,description="text"
在注释部分使用似乎是正确的。您是否尝试过清除缓存:
php bin/console cache:clear --env=prod
不确定是否相关。
本节介绍如何使用版本控制对象@Until("x.x.x")
,并且看起来您必须@Since("x.x")
在 JMSSerializerBundle 类中使用。请参阅此链接。
这是我的一个项目中的一种有效 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 参数都归类在“要求”下。