Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >symfony SerializerInterface序列化程序参数

symfony SerializerInterface序列化程序参数
EN

Stack Overflow用户
提问于 2017-06-23 14:43:10
回答 2查看 1.5K关注 0票数 1

我使用的是symfony 3.3的最新版本

我试图返回json,但得到一个错误

这是我的控制器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Serializer\SerializerInterface;

class ApiController extends Controller{
    /**
     * @Route("home", name="api_home")
     */
    public function indexAction(SerializerInterface $serializer)
    {
        $entity = $this->getDoctrine()
            ->getRepository('AppBundle:User')
            ->findAll();
        $json = $serializer->serialize($entity,'json', ['groups' => ['User']]);
        return new JsonResponse($json, 200, [], true);
    }
}

在services.yml上:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
services:
  _defaults:
      public: false
      autowire: false
      autoconfigure: true

config.yml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
serializer:
    enabled: true
    enable_annotations: true

我收到错误消息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Controller "AppBundle\Controller\ApiController::indexAction()" requires that you provide a value for the "$serializer" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

我试着在$json之前死掉

但同样的错误

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-23 14:51:18

action方法可以通过请求转换请求属性或参数(您需要的服务应该从容器中检索),因此请尝试以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * @Route("home", name="api_home")
 */
public function indexAction()
{
    $serializer = $this->get('serializer');
    $entity = $this->getDoctrine()
        ->getRepository('AppBundle:User')
        ->findAll();
    $json = $serializer->serialize($entity,'json', ['groups' => ['User']]);
    return new JsonResponse($json, 200, []);
}

希望这对你有所帮助

票数 0
EN

Stack Overflow用户

发布于 2017-06-23 15:09:59

它的发生只是因为我在services.yml上没有这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  AppBundle\Controller\:
        resource: '../../src/AppBundle/Controller/*'
        public: true
        tags: ['controller.service_arguments']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44724202

复制
相关文章
nginx配置Symfony
server { listen 80; server_name blog.phpfs.com; root /data/web; rewrite ^/a
苦咖啡
2018/04/28
1.7K0
Symfony是什么
众所周知前面有说到PHP的七大框架,接下来就来说说Symfony框架,希望说的对大家有所帮助。
叫我可儿呀
2019/11/26
2.1K0
Symfony是什么
Symfony 服务容器入门
本文是依赖注入(Depeendency Injection)系列教程的第 3 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
3.4K0
Symfony 3 框架+Elasticsearch
目录src/AppBundle/Controller/SearchController.php
Stanley Sun
2019/09/23
7930
Ubuntu配置Symfony环境
1、装好ubuntu使用 sudo passwd root 设置root密码 2、安装ssh sudo apt-get install openssh-server 3、ssh连接进行安装LAMP环境 启动ssh服务 /etc/init.d/ssh start 4、修改ssh连接乱码 进入系统后 sudo vim /etc/environment LANG=”zh_CN.UTF-8″ LANGUAGE=”zh_CN:zh” 修改为 LANG=”en_GB.UTF-8″ LANGUAGE=”en_US:en”
苦咖啡
2018/05/07
2K0
使用Symfony的Console组件构建命令行程序
我们新开设一门视频课程《构建命令行程序》。主要讲解如何使用symfony的console组件,构建命令行应用。在我们的印象中,php程序大部分是通过浏览器执行(即web应用)。在命令终端执行的应用,相对比较少。使用Laravel后,我们最常用的操作有: 创建数据库的migration文件 php artisan make:migration 创建模型文件 php artisan make:model 创建控制器文件 php artisan make:controller 开设这门课程的目标,是为Lara
企鹅号小编
2018/01/15
2K0
使用Symfony的Console组件构建命令行程序
Symfony 服务容器性能优化
本文是依赖注入(Depeendency Injection)系列教程的最后一篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
3.1K0
Symfony 服务容器性能优化
php使用Symfony EventDispatcher 组件
大家好,这篇文章将通过我在实际开发工作中的例子,来介绍Symfony的EventDispatcher组件的使用及实现原理。
OwenZhang
2021/12/08
2.1K0
撸个 symfony4(一)
最近在看symfony,发现laravel里面也引用了这个框架,国内关于symfony的资料不是很多,但是体验了以下之后,感觉还是不错的,所以记录下踩坑之旅。这是[官方文档](https://symfony.com)
仇诺伊
2020/04/24
4540
撸个 symfony4(一)
撸个 symfony4(二)
目标其实是完成如下的需求,如果有想看源码的,可以看下sf官网出的一个demo。
仇诺伊
2020/04/24
2.4K0
撸个 symfony4(二)
jquery param 数据 数组参数序列化
背景 java web项目中前端浏览器中需要向后台传入一个List对象(变长数组) 问题 如何通过浏览器向后台传入数组对象? 解决方案 解决方案(前台) 浏览器中输入url localhost:8
MickyInvQ
2020/09/27
6680
如何在Ubuntu 14.04上将Symfony应用程序部署到生产环境中
Symfony是一个用PHP编写的开源Web框架,适用于构建任何规模的项目。它提供了一个基于可重用组件的精心设计的结构,您可以在其上构建自己的PHP应用程序。
你在哪里
2018/09/26
12.8K0
关于symfony的serivce存在的意义
最近硬着头皮改了一个symfony的serivce 。 改完之后突然理解了symonfy启用service 的良苦用心。
lilugirl
2019/05/26
7110
基于 Symfony 组件封装 HTTP 请求响应类
上篇教程学院君给大家介绍了命名空间以及如何基于 Composer 来管理命名空间与 PHP 脚本路径的映射,自此以后,我们将基于这套机制来实现 PHP 类的自动加载和函数引入。
学院君
2020/08/18
8.7K0
基于 Symfony 组件封装 HTTP 请求响应类
Symfony 服务容器:使用建造者创建服务
本文是依赖注入(Depeendency Injection)系列教程的第 5 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
2.6K0
如何在Ubuntu 18.04上使用LEMP将Symfony 4应用程序部署到生产中
Symfony是一个开源PHP框架,具有优雅的结构和声誉,无论其大小如何,都是一个适合启动任何项目的框架。作为一组可重用的组件,其灵活性,体系结构和高性能使其成为构建高度复杂的企业应用程序的首选。
小皇帝James
2018/11/15
4.8K0
Yahoo 书签系统使用 Php 语言的 symfony 框架
根据Yahoo 技术工程师 Michael Salisbury  介绍,Yahoo 书签使用 symfony 框架开发完成,他们选择 symfony 的理由如下:
田春峰-JCJC错别字检测
2019/02/14
9950
小程序bindtap参数传递
正常 wxml <view class='content' data-gid='{{item.gId}}' bindtap='openChatView'> js openChatView: function (event) { var $this = this; console.log(event.currentTarget.dataset.gid) }, 异常 wxml <view class='content' data-gid='{{item.gId}}' bindtap='op
程序员不务正业
2018/10/10
2.7K1
yii2反序列化后续
昨天早上上班前,我无意间看到其它师傅们挖的yii2利用链,其中有一个是我之前忽略了的,就想着赶紧分享给大家,但是昨天恰了个饭(文末有福利),发不了文章,只有今天发了
tnt阿信
2020/09/27
1.1K0
yii2反序列化后续
uniapp小程序跳转参数
2023/06/02
1K0
uniapp小程序跳转参数

相似问题

Symfony SerializerInterface将json反序列化为无法工作的类。

11

如何在circularReferenceLimit Symfony 3.4中设置SerializerInterface

11

在使用SerializerInterface时修复symfony中的循环引用

20

Symfony序列化程序空对象

11

Symfony序列化程序XML属性

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文