gpt4 book ai didi

symfony - FOSRestBundle Controller 作为服务无法正常工作

转载 作者:行者123 更新时间:2023-12-02 18:27:43 28 4
gpt4 key购买 nike

我正在使用 symphony a fosrestbundle 开发一个 api。我还想在我的 Controller 中使用构造函数注入(inject),就像我总是注入(inject)一些 EntityRepository 一样。

问题是此注入(inject)不起作用,我收到一条错误,指出需要一个存储库,但没有给出任何存储库。

我发现了一些事情:FOSRestBundle 自动生成一些 url,但是如果我想使用构造函数注入(inject),这个 url 必须使用我为 Controller 创建的服务的名称。例如,如果我的 Controller 服务定义如下:

服务.yml

dnd_agent_controller:
class: DnD\RaHApiBundle\Controller\AgentController
arguments: ["@dnd_agent_repository"]

那么我的路线必须这样定义:

路由.yml

agents_resource:
path: /agents
defaults: { _controller: dnd_agent_controller:getallAction}

注意_controller字段,它使用上面定义的服务名称,而不是像往常一样使用namespacebundle:controller:action。

使用此配置,我的构造函数注入(inject)可以工作,但这对我来说是一个问题,因为此 url 是由 FOSRestBundle 自动生成的,我喜欢这样。

有没有办法在我的 Controller 和 FOSRestBundle 中同时使用构造函数注入(inject)?我该怎么做?

谢谢!

最佳答案

是的,使用 FOSRestBundle 路由样式,但带有服务名称。

路由例如。

agents_resource:
type: rest
resource: dnd_agent_controller

编辑:带有示例的博客文章 http://blog.dashboardhub.io/2015/09/26/symfony-controller-not-extending-fosrest-bundle/

关于symfony - FOSRestBundle Controller 作为服务无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041629/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com