我正在使用NelmioApiDocBundle和FOSRestBundle来创建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
的路线。
我怎样才能做到这一点?
答案 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