私の春RestControllerはDTOを返し、次の方法があります。シリアル化の前にSpring MVC RestControllerエンドポイントの結果をインターセプトする方法はありますか?
@RequestMapping(
value = "/profile",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public UserProfileDto getUserProfile() {...}
を私は、コントローラのメソッドの呼び出しをインターセプトしたDTOを取得し、JSONにシリアライズする前に、いくつかのfiedsを変更したいですか?
カスタムフィルタ:
私はシリアル化された応答の唯一のバイトストリームを得ることができるようが動作しません
カスタムHandlerInterceptor:
は、私の知る限り理解して2つの方法がありますしかし、HandlerInterceptorのpostHandleがnullのModelAndViewを持ち、afterCompletionがModelAndViewをまったく持たないため、どのようにすればいいのか分かりません
を
をOncePerRequestFilterを使用することができますそれによって返されますか? – Plog
UserProfileDtoオブジェクトからuser_idを取得し、一致する場合は、ユーザー名を変更してUserProfileDtoオブジェクトに保存し直します。 ** UPD **:できますが、多くのエンドポイントでユーザーの名前を変更してコピー貼りを避ける必要があります – dbahdano
申し訳ありませんが、私は最初のコメントを削除しました。新しいものを投稿しました – Plog