私はStackoverflowで同じタイプの質問があることは知っていますが、これらのすべてがScalaで書かれています。 the official documentationに、Actionの作成方法が表示されます。 は、実際に私はそれの明確ではないけど、Play Javaでのアクションの作成
public class VerboseAction extends play.mvc.Action.Simple {
public CompletionStage<Result> call(Http.Context ctx) {
Logger.info("Calling action for {}", ctx);
return delegate.call(ctx);
}
この上記のコードは、以下のいずれかと同じですか?
@With(VerboseAction.class)
public Result verboseIndex() {
return ok("It works!"); }
そして、私たちはラップされたアクションに委任する必要がありますが、上記のコードではどのアクションが呼び出されていますか? delegate.call(ctx)
の意味は? 私はPlayのアクションがAction
のインスタンスであることを知っていますが、戻り値は実際にはであり、Action
ではありません。
だから私は混乱しています。たぶん私には小さな誤解があるので、誰もそれを指摘することができますか?
ありがとうございました。
詳細な回答ありがとうございます!しかし、あなたは私に膨大な量の情報を渡しましたが、自分ではリンクしていません。最初のコードは何を意図していますか? –
delegateとcallの説明、delegateはActionクラスのフィールドであり、callはActionクラスのメソッドです。 –
今私は、他の私の質問を組み合わせて、全体の画像をほとんど把握しています。私の質問では、 'delegate.call(ctx)'は何をしますか? 'delegate'はActionクラスのフィールドであり、' call'は 'Promise 'を返すメソッドです。これはすぐに' Result'になります。それで、実際に何をしていますか? –