gpt4 book ai didi

php - FOSRestBundle 无法获取参数 getter

转载 作者:行者123 更新时间:2023-12-03 23:01:10 24 4
gpt4 key购买 nike

我正在尝试让我的 Controller 与参数 getter 一起工作。我做了文档中指定的所有说明。所以我有:配置fos_rest.yml:

fos_rest:
param_fetcher_listener: 'force'
view:
formats:
json: true
xml: false
rss: false
mime_types:
json: ['application/json', 'application/x-json', 'application/vnd.example-com.foo+json']
png: 'image/png'
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
view_response_listener: 'force'
format_listener:
default_priorities:
- json
routing_loader:
default_format: json

sensio_framework_extra: 查看:{注解:假} 路由器:{注解:真}

还有我的 Controller

<?php

namespace Push\PointsBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use FOS\RestBundle\View\View;
use FOS\RestBundle\Controller\Annotations\QueryParam;
use FOS\RestBundle\Request\ParamFetcherInterface;
use FOS\RestBundle\Controller\Annotations\RequestParam;
use FOS\RestBundle\Request\ParamFetcher;

class RestController extends Controller
{
/**
* @QueryParam(name="latitude", requirements="[0-9.]+", default="0", description="")
* @ApiDoc()
*/
public function checkPointsAction(ParamFetcher $params)
{
$view = new View();
return $this->get('fos_rest.view_handler')->handle($view);
}
}

当我调用方法时,我得到:

Controller "Push\PointsBundle\Controller\RestController::checkPointsAction()" requires that you provide a value for the "$params" argument (because there is no default value or because there is a non optional argument after this one).

我做错了什么或错过了什么?谢谢。

最佳答案

我经常遇到 FOSRestBundle 和过时缓存的问题。如果我更改注释,它有时不会刷新。首先,尝试删除 app/cache 目录的内容 (rm -rf app/cache/*)。

我没有检查参数是否通过类型或名称映射到方法参数。如果它晚于你的参数应该被称为 $paramFetcher(不是 $params):

public function checkPointsAction(ParamFetcher $paramFetcher) { }

编辑:您是否启用了参数 getter 监听器?

fos_rest:
param_fetcher_listener: true

关于php - FOSRestBundle 无法获取参数 getter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654838/

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