我想使用NelmioApiDocBundle自动生成文档。我让标准的Symfony doc安装并配置它:https://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html。不幸的是,当我去/ api / doc时,我的文档是空的。
我在v.3.2.0中使用Symfony 3.4和NelmioApiDocBundle。
这是我的配置:
nelmio_api_doc:
areas:
path_patterns: # an array of regexps
- ^/api(?!/doc$)
host_patterns:
- ^api\.
documentation:
host: 127.0.0.1
schemes: [http, https]
info:
title: Thanatos API
description: This is documentation of Thanatos
version: 1.0.0
security:
- Bearer: []
我的控制器中的注释(一开始我想在文档中看到任何数据):
/**
* @Route(
* "/",
* name="thanatos_dashboard_index",
* )
*
* @SWG\Response(
* response=200,
* description="Returns the rewards of an user",
* @SWG\Schema(
* type="array",
* @SWG\Items(ref=@Model(type=Reward::class, groups={"full"}))
* )
* )
* @SWG\Parameter(
* name="order",
* in="query",
* type="string",
* description="The field used to order rewards"
* )
* @SWG\Tag(name="rewards")
* @NelmioSecurity(name="Bearer")
*/
public function indexAction()
{
return $this->render("@AppThanatos/Dashboard/index.html.twig");
}
在/ api / doc中,我看到“规范中没有定义任何操作!”。我做错了什么?
@UPDATE
我刚开始使用Sami:http://symfony.com/projects/sami
答案 0 :(得分:0)
我遇到了同样的问题。在我的Mac上工作我总是 ERR_EMPTY_RESPONSE (使用Chrome),但在生产环境中,相同的配置工作正常。
唯一的区别是Xdebug,我试过禁用该模块,现在一切正常。
答案 1 :(得分:0)
如果任何命令事件(通常为post-install-cmd
或post-update-cmd
)触发ScriptHandler::installAssets
脚本,则通常由作曲家安装资产。如果尚未设置此脚本,则可以手动执行以下命令:
php bin/console assets:install --symlink
答案 2 :(得分:-1)
试试这个:
替换
* @Route(
* "/",
* name="thanatos_dashboard_index",
* )
通过
@Rest\Get("/getVehicles")
并且,在您的动作控制器中,返回如下所示的数组或对象:
$em = $this->getDoctrine();
return $em->getRepository('AppBundle:Vehicle')->findAll();