サーバーとの通信にはRequestFactoryを使用し、クライアント側ではRequestFactoryEditorDriverを使用します。したがって、編集ワークフローはそのように見えます。編集用の新しいプロキシを作成します。
RequestContext reqCtx = clientFactory.getRequestFactory().Request();
UserAndAccountProxy userAndAccountProxy = reqCtx.create(UserAndAccountProxy.class);
reqCtx.saveAndReturnProfileAndAccount(userAndAccountProxy).to(
new Receiver<UserAndAccountProxy>() {
@Override
public void onSuccess(UserAndAccountProxy response) {
...
}
@Override
public void onFailure(ServerFailure error) {
...
}}
そして、保存ボタンのクリック処理:
RequestContext reqCtx = view.getEditorDriver().flush();
reqCtx.fire();
サーバー側では、saveAndReturnProfileAndAccountメソッドは、永続化時に例外をスローできます。これは、onFailureメソッドで処理できます。その後、新しいリクエストコンテキストで新しいプロキシを作成し、それをエディタに渡すと、すべてのフィールドが空白になります。では、リクエストを実行する適切な方法は何ですか?何か問題が発生した場合は、ユーザーがすでに入力しているデータを使用するか、編集作業を間違えた可能性がありますか?