也许我只是错过了它,我想隐藏一些其他没有实现它们的控制器的休息方法,比如options,delete,head
这是否有注释?我在文档中找不到它 使用https://github.com/nelmio/NelmioApiDocBundle v3
目前当我查看/ api / doc时,我添加的所有控制器列出了所有其余方法,即使我只实现了GET方法。
<?php
namespace ApiBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\JsonResponse;
use Swagger\Annotations as SWG;
class UserController extends Controller
{
/**
* @Security("is_granted('IS_AUTHENTICATED_FULLY')")
* @Route("/api/users", name="get_users", methods={"GET"})
*
* @SWG\Response(
* response=200,
* description="Returns all users"
* )
* @SWG\Tag(name="users")
*
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
*/
public function getUsersAction()
{
$repo = $this->getDoctrine()
->getRepository('AccountBundle:User');
$users = $repo->createQueryBuilder('q')
->getQuery()
->getArrayResult();
return new JsonResponse($users);
}
}
答案 0 :(得分:1)
如果你没有在@Route()注释中指定控制器中的方法,那么它会显示出来然后它会显示所有这些方法但是如果你将 methods = {} 添加到Route注释中那么它只会列出定义的方法
* @Route("/api/users", name="get_users", methods={"GET"})
答案 1 :(得分:-1)
在 @RequestMapping
中指定 @Value 和 @method 类型@RequestMapping(value="/instances/all",method=RequestMethod.GET)
@JsonFormat
public String showInstances(){
return "instances";
}