symfony2:NelmioApiDocBundle生成的文档显示了另一条路线

时间:2014-07-07 12:43:45

标签: php symfony routing fosrestbundle

我正在使用NelmioApiDocBundleFOSRestBundle来创建API。

在我的 routing.yml 中,我已将prefix设为/api

我的ApiController类中的路由配置如下:

/**
* @Get("/login/{username}/{password}")
* @ApiDoc(
*   description="User Loggin",
*   resource=true,
*   parameters={
*     {"name"="username", "dataType"="string", "required"=true, "description"="Username"},
*     {"name"="password", "dataType"="string", "required"=true, "description"="Password"},
*   }
* )
*/
public function loginAction($username, $password)
{
   // ...
}

我的问题是生成的文档显示了这些两个路由:

  • /api/login/{username}/{password}
  • /login/{username}/{password}

我只希望显示前缀为/api的路线。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

NelmioApiDocBundle可能不知道 routing.yml 中的prefix设置。

由于捆绑包通常需要注释,您应该在类级别添加 @Prefix 注释。

use FOS\RestBundle\Controller\Annotations\Prefix;

/**
 * @Prefix("/api")
 */
class ApiController

执行更改后,请不要忘记清除缓存。

答案 1 :(得分:0)

我找到了一个解决方案,我覆盖了NelmioBundle的模板resources.html.twig并手动检查uri是否包含/ api