问题标签 [jmsserializerbundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rest - Symfony2 Doctrine SoftDeletable 和 JMSSerializerBundle 不能一起工作
我正在为 Symfony2 和 Doctrine 使用 Gedmo SoftDeletable 过滤器(https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.md)
我还使用 JMSSerializerBundle 为我的 REST API 序列化对 JSON 的响应。
一旦我“软删除”一家公司,我请求所有公司的功能就不再起作用了,因为它会引发 Entity not Found 异常......有没有办法确保 JMSSerializerBundle 忽略我的数据库中的软删除实体?
我的 all() 函数如下所示:
symfony - 在 Symfony2 中运行 PHPUnit 测试时,JMS Serializer 未读取配置
我正在使用 JMSSerializer 为我正在处理的 Symfony2 项目创建 JSON 响应,并尝试为每个响应构建单元测试,但我遇到了以下变体:
我正在为序列化程序使用 YML 配置,它在生成响应时工作得很好。
我想知道是否需要以某种方式预加载配置并找到此链接:http: //jmsyst.com/libs/serializer/master/configuration说要配置元数据路径但还要包含文件后缀:
在单元测试中生成序列化程序时,我尝试设置配置目录:
但这并没有解决问题,我再次检查了文档页面,它告诉您列出文件的完整路径
“所以,如果你的类被命名为 Vendor\Package\Foo,则元数据文件需要位于 $someDir/Vendor.Package.Foo.(xml|yml)。”
但尝试 get 生成:
我错过了一些明显的东西吗?
谢谢
本
php - 使用 JMS 序列化器仅将实体关系序列化为 Id
我正在尝试使用 JMS Serializer 序列化实体关系。
这是实体:
以及关系的实体:
我序列化实体,但我不知道如何将国家属性转换为简单字段。
我在 json 中得到这个结果:
但我想像这样获得国家的 id 字段:
JMS 序列化器可以吗?
谢谢你。
[编辑]
@VirtualProperty 不起作用。
symfony - FOSUserBundle 反序列化到用户对象抛出“你必须定义一个类型”
基本上我想将 json 反序列化为用户对象。像这样
传递给反序列化器的请求数据:
抛出的错误:
request.CRITICAL:未捕获的 PHP 异常 JMS\Serializer\Exception\RuntimeException:“您必须为 FOS\UserBundle\Model\User::$username 定义一个类型。” 在 ...\vendor\jms\serializer\src\JMS\Serializer\GenericDeserializationVisitor.php 第 170 行 [] []
我使用科幻 2.3。是否需要为 fos 用户类的反序列化设置任何内容?知道为什么我会收到此消息以及如何解决它吗?
php - JMS 序列化 @VirtualProperty 不起作用
我正在尝试添加一种序列化方法,但 JMS Serialize 不显示该字段。
接着:
我还没有看到任何有关如何使用 VirtualProperty 的示例。
语法是否正确?怎么了?
谢谢你。
php - JMSSerializer 和 FOSRestBundle - 注释不起作用。“不存在”
我正在尝试使用 ExclusionPolicy,但是我不断收到“注释不存在或无法自动加载”错误。
这是抛出的确切错误:
[语义错误] Acme\DemoBundle\Entity\Attributes 类中的注释“@JMS\SerializerBundle\Annotation\ExclusionPolicy”不存在,或者无法自动加载。
我的代码如下:
symfony - 如何从 @Groups 包含策略 JMSSerializer 反序列化实体更新 symfony2/doctrine 实体
我正在尝试使用带有 @ExclusionPolicy:None @Groups 包含策略的 JMSSerializer 更新 symfony2/doctrine 实体。
参考:http: //jmsyst.com/libs/serializer/master/reference/annotations
以下记录的结果:
使用组包含进行序列化以避免序列化我不需要的信息(关联、blob 等)所以当我想更新一个实体时,我只反序列化来自 JSON 的实体的更新字段。
当传递回应用程序时,它会反序列化到实体中
问题是当我尝试将实体合并回理论实体管理器时:
结果 foo 正在尝试使用 null 更新排除的属性 (name,created_by)。
如何告诉 JMSSerializer 或 Doctrine Entity Managers 合并我不想用 null 覆盖现有属性?
symfony - JMS 序列化程序不公开一个属性
我用 Symfony 和 FOSRestBundle 制作了一个 RESTful 应用程序。FOSRestBundle 使用 JMS Serializer 将数据序列化为 json 格式。我的一切都在处理一个小问题。
这是我的实体类
这是我得到的json:
在我的实体中,$uuid 是唯一具有 @Exclude 注释的属性,并且没有按预期存在,但也缺少 $sign 属性。如您所见,我将 @Expose 注释放在 $sign 上,但没有改变。我尝试使用 @ExclusionPolicy("all") 并公开除 uuid 之外的所有内容,但我得到了
我发现了一些信息,因为它是一些php 错误
知道出了什么问题以及如何解决吗?
php - jms 序列化程序性能问题
我正在使用 JMS 序列化程序。我发现当我使用大数据时,性能真的很差。我将以下对象结构显示为数组:
这就是我序列化数据的方式:
数据可以是1
直到n
对象的列表。当我在数据中有超过 500 个对象时,性能非常非常慢(超过 5 秒)。当我json_encode()
直接使用时,它不会超过 1 秒。
如何提高 JMS Serializer 的使用率?我不认为 jms 序列化程序不能处理大数据。
这是将用于序列化的主类:
目前这个对象在里面$data
:
并且$entries
是此类对象的列表:
没有任何注释,因为我准备了我的 dto,以便根据需要使用数据。
php - 如何使用 JMS 序列化器在 FOS Rest Bundle 中的 JSON 中显示空值?
我通读了这个:https ://github.com/schmittjoh/serializer/issues/77但没有找到任何方法来序列化 JSON 中的空值,用于带有 JMS 序列化程序的 FOS Rest 捆绑包(意味着只显示教义的关键对象,即使它为空)。
我在 composer.json 中使用以下配置
JMS 序列化程序配置
或 FOS Rest bunde 配置
不工作。我没有使用视图,我是“view_response_listener:'force'”,所以如果可以提供配置中的解决方案,它会有所帮助,谢谢。