我目前正在开发一个使用Play2的网络服务,我的行动构成存在问题。
以下是我的网络服务可用的方法之一:
@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,但我不明白如何使用简单的注释更改操作的行为?
谢谢
答案 0 :(得分:0)