問題タブ [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.

0 投票する
2 に答える
862 参照

rest - Symfony2 Doctrine SoftDeletable と JMSSerializerBundle が連携しない

Symfony2 と Doctrine に Gedmo SoftDeletable フィルターを使用しています ( https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.md )

また、JMSSerializerBundle を使用して、REST API の JSON への応答をシリアル化しています。

会社を「ソフト削除」するとすぐに、エンティティが見つからないという例外がスローされるため、すべての会社を要求する機能が機能しなくなります... JMSSerializerBundle がデータベース内のソフト削除されたエンティティを確実に無視するようにする方法はありますか?

私の all() 関数は次のようになります。

0 投票する
1 に答える
6640 参照

symfony - Symfony2 で PHPUnit テストを実行するときに JMS シリアライザーが構成を読み取らない

私が取り組んでいる Symfony2 プロジェクトの JSON 応答を作成するために JMSSerializer を使用しており、各応答の単体テストを作成しようとしていますが、以下のバリエーションをヒットしています:

シリアライザーに YML 構成を使用していますが、応答を生成するときに完全に機能します。

どういうわけか構成をプリロードする必要があるかどうか疑問に思い、このリンクを見つけました: http://jmsyst.com/libs/serializer/master/configurationメタデータパスを構成するだけでなく、ファイルサフィックスを含めるように言っています:

単体テストでシリアライザーを生成するときに構成ディレクトリを設定しようとしました:

しかし、これで問題は解決しませんでした。ドキュメント ページをもう一度確認したところ、ファイルへのフル パスをリストするように指示されています。

「そのため、Vendor\Package\Foo という名前のクラスの場合、メタデータ ファイルは $someDir/Vendor.Package.Foo.(xml|yml) に配置する必要があります。」

しかし、getしようとすると次が生成されます:

明らかな何かが欠けていますか?

ありがとう

ベン

0 投票する
6 に答える
21987 参照

php - JMSシリアライザーを使用してIDのみにエンティティー関係をシリアライズする

JMS シリアライザーを使用してエンティティ関係をシリアライズしようとしています。

エンティティは次のとおりです。

そして関係のエンティティ:

エンティティをシリアル化しますが、国属性を単純なフィールドに変換する方法がわかりません。

私はjsonでこの結果を取得します:

しかし、次のように国の id フィールドを取得したい:

JMSシリアライザーで可能ですか?

ありがとうございました。

[編集]

@VirtualProperty は機能しません。

0 投票する
1 に答える
13726 参照

php - JMS シリアル化 @VirtualProperty が機能しない

シリアル化するメソッドを追加しようとしていますが、JMS シリアル化でフィールドが表示されません。

その後:

VirtualProperty の使用例は見たことがありません。

構文は正しいですか?なにが問題ですか?

ありがとうございました。

0 投票する
1 に答える
3839 参照

php - JMSSerializer と FOSRestBundle - 注釈が機能しない。"存在しません"

ExclusionPolicy を使用しようとしていますが、「注釈が存在しないか、自動読み込みできませんでした」というエラーが表示され続けます。

スローされる正確なエラーは次のとおりです。

[Semantical Error] クラス Acme\DemoBundle\Entity\Attributes の注釈「@JMS\SerializerBundle\Annotation\ExclusionPolicy」が存在しないか、自動ロードできませんでした。

私のコードは次のとおりです。

0 投票する
2 に答える
9514 参照

symfony - JMS シリアライザーは 1 つのプロパティーを公開しません

Symfony と FOSRestBundle を使用して RESTful アプリを作成しています。FOSRestBundle は、JMS シリアライザーを使用して、データを json 形式にシリアル化します。私はすべてが1つの小さな問題で機能しています。

これは私のエンティティクラスです

これは私が得るjsonです:

私のエンティティでは、 $uuid は @Exclude アノテーションを持つ唯一のプロパティであり、期待どおりにはありませんが、 $sign プロパティも欠落しています。ご覧のとおり、@Expose アノテーションを $sign に付けましたが、何も変更していません。@ExclusionPolicy("all") を使用して、uuid を除くすべてを公開しようとしましたが、取得しています

PHPのバグであるため、いくつかの情報を見つけました

何が間違っていて、それを修正する方法はありますか?

0 投票する
3 に答える
5830 参照

php - jms シリアライザーのパフォーマンスの問題

JMSシリアライザーを使用しています。そして、ビッグデータを使用すると、パフォーマンスが非常に悪いことがわかりました。次のオブジェクト構造を配列として表示しました。

これは、データをシリアル化する方法です。

データは、1レジnオブジェクトのリストにすることができます。データに 500 を超えるオブジェクトがあると、パフォーマンスが非常に遅くなります (5 秒以上)。直接使用json_encode()すると、1秒もかかりませんでした。

JMS シリアライザーの使用を改善するにはどうすればよいですか? jmsシリアライザーがビッグデータを扱えないとは思いません。

これは、シリアル化に使用されるメイン クラスです。

そして現在、このオブジェクトは内部にあります$data:

And$entriesは、このクラスのオブジェクトのリストです。

必要に応じてデータを使用するために dto を準備したため、注釈はありません。

0 投票する
3 に答える
14492 参照

php - JMSシリアライザを使用したFOS Rest BundleのJSONでnull値を表示するには?

私はこれを読みました: https://github.com/schmittjoh/serializer/issues/77しかし、FOS Rest バンドルの JSON で null 値を JMS シリアライザーでシリアライズする方法が見つかりませんでした (つまり、Doctrine のキーを表示するだけです)。オブジェクトが null であっても)。

composer.json で次の構成を使用しています

JMS シリアライザー構成

または FOS Rest bunde 設定

動作しません。私は "view_response_listener: 'force'" のビューを使用していないので、構成からの解決策を提供できれば助かります。