如何解决Symfony 4.4/FOSRest 2.8.5 不显示父类的路由
父类:
abstract class AbstractObjectRestController extends FOSRestController {
/**
*
* @param ParamFetcher $params
* @return \FOS\RestBundle\View\View
*/
public function cgetAction(ParamFetcher $params)
{
// Get DB data and return View
}
}
子类:
/**
* Class RoleRestController
* @package Abstrat\UsersBundle\Controller
* @REST\RouteResource("Roles")
*/
class CertificateRestController extends AbstractObjectRestController {
/**
*
* @REST\Post("/certificates/download/{certificateId}")
* @throws Exception
*/
public function downloadAction(Request $request,$certificateId)
{
}
}
php bin/console debug:router
app_certificate_certificaterest_download POST ANY ANY /certificates/download/{certificateId} App\Controller\Certificate\CertificateRestController::downloadAction()
问题是,即使 CertificateRestController 扩展了 AbstractObjectRestController 并且显示了 CertificateRestController 中定义的路由,但没有注册来自父类 (AbstractObjectRestController) 的路由
config/services.yml:
parameters:
services:
# default configuration for services in *this* file
_defaults:
autowire: true
autoconfigure: true
public: false
App\Controller\:
resource: '../src/Controller'
tags: [ 'controller.service_arguments' ]
# Data fixtures
App\DataFixtures\:
resource: '../src/DataFixtures'
tags: [ 'doctrine.fixture.orm' ]
config/routes.yml:
Users:
type : rest
resource: "@Usersbundle/Resources/config/routing.yml"
OAuth:
type : rest
resource: "@OauthBundle/Resources/config/routing.yml"
奇怪的是,UsersBundle 和 OauthBundle 都有扩展 AbstractObjectRestController 的 rest 控制器(如上所述),并且 cgetAction 方法正在针对这些控制器注册
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。