私は現在、Play2 で Web サービスを開発していますが、アクションの構成に問題があります。
私のWebサービスで利用可能な方法の1つを次に示します。
@Authenticated(Secured.class)
@BodyParser.Of(BodyParser.Json.class)
public static Result createObject() {
try {
JsonNode json = request().body().asJson();
// Retrieve user from request
User user;
try {
user = getUserFromRequest();
}
catch (BeanNotFoundException e) {
return badRequest(Messages.get("userNotFound"));
}
// Retrieve owner from user
Owner owner;
try {
owner = getOwnerFromUser(user);
}
catch (BeanNotFoundException e) {
return badRequest(Messages.get("ownerNotFound"));
}
// Create the object
// Here is the code using User and Owner previously found
}
catch (BeanValidationException e) {
return badRequest(JsonUtils.beanValidationMessagesToJson(e));
}
}
問題は、Web サービスの各メソッドでユーザーと所有者を取得するためにコードを繰り返さなければならないことです。
メインアクションの途中でメソッドを呼び出しているので、アクション合成を使用してそれを行うにはどうすればよいですか? ドキュメントhttp://www.playframework.com/documentation/2.1.1/JavaActionsCompositionを読みましたが、単純な注釈でアクションの動作を変更する方法がわかりませんか?
ありがとうございました