問題タブ [class-transformer]
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.
nested - typeorm を使用した nestJS : エンティティがネストされている場合、@Expose が機能しない
私のプロジェクトには、2 つのエンティティがあります。Profile
とProject
。
エンティティProject
には、の配列であるフィールド「コラボレーター」がありProfile
ます。->コード
Entityには「nickname」と「id」のProfile
2 つのフィールドがあり、GET Profile API を呼び出すとよく表示されます。@Expose
->コード-> dev.collact.io/api/profiles/8
の結果を参照してください。
ただし、GET Project API を呼び出すと、公開されたフィールド「nickname」と「id」が「collaborators」内に表示されません。-> dev.collact.io/api/projects/72の結果を参照してください。
すでに 2 つのソリューションを試しましたが、思い通りに動作しません。
まず、エンティティの「コラボレーター」に @Type(() => Profile) を追加しようとしましProject
たが、違いはありませんでした。
第二に、参加は までしか機能しないと思っていたcollaborators
ので、以下のようになるまで参加する必要がありましたcollaborators.user
。
ただ、今回は「ニックネーム」と「id」がコラボ相手に出てこない。むしろ、ネストされたユーザー オブジェクト全体が表示されます。
誰でも助けることができますか?
javascript - Response DTO でのカスタム ゲッターの公開が機能しない
次のようなカスタムゲッターを定義しようとしました:
これは私がそれを変換する方法です:
ここのドキュメントで説明されているように: https://github.com/typestack/class-transformer#exposed-getters-and-method-return-values
ただし、応答は次のとおりです。
何が間違っているのか正確にはわかりませんが、「thisIsATest」プロパティがありません。