現在、JHipsterの例外処理を理解しようとしています。Jhipster例外処理のサービス
サービスに例外をスローしたいと思います。例外メッセージはUIで翻訳され、メッセージのパラメータが設定されます。 CustomParameterizedException
は完全に適合します。しかし、建築的な観点から見ると、例外はWebパッケージにあるため、サービスでは使用できないと思います。なぜWebパッケージに入っていますか?私はそれが独自のパッケージexception
またはそれに似ていると期待しているので、アプリケーションのすべてのレイヤーからアクセスできます。
また、ExceptionTranslator.processRuntimeException
メソッドでは、注釈が例外に設定されている場合、RuntimeException
を処理できることが分かりました。私が見る限り、UIの翻訳はエラーコードに基づいてのみ実行されます。だから、私は必要なカスタムエラーメッセージのためにそれを使用することはできません。
jHipsterアプリケーションのWebレイヤー以外のレイヤーで例外処理をどのように行うのですか?
ご協力いただきありがとうございます。
あなたの答えをありがとう!私はそれがJHipsterによって生成される方法の意図を理解したいと思います。私の見解では、 'ParameterizedErrorVM'の使用は十分ではありません。それはサービス層のUserDTOで行われているので、DTOでもありませんか?このようにして、サービス層で例外を使用することもできます。より複雑なデータ関連の検証は、私が考えるサービス層で行う必要があります。私の意見では、ここでも 'CustomParameterizedException'も使用するのに適しています。 –
githubプロジェクトでPRを自由に提案してください –
申し訳ありませんが、私のアプリケーションでうまく動作するようになるとすぐにそうなります。 –